Mercurial > kallithea
view init.d/kallithea-daemon-debian @ 7675:c8239333853d
hooks: refactor log_push_action
The core of the functionality is to process a list of "raw id"s, log them, and
update / invalidate caches.
handle_git_post_receive and scm _handle_push already provide that list
directly. Things get much simpler when introducing a new function
(process_pushed_raw_ids) just for processing pushed raw ids. That also makes it
clear that scm _handle_push doesn't need any repo.
log_push_action remains the native entry point for the Mercurial hook. It was
not entirely correct using 'node:tip' - after Mercurial 3.7 and d6d3cf5fda6f,
it should be 'node:node_last'.
After several trivial refactorings, it turns out that the logic for creating
the hash list for Mercurial actually is very simple ...
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Wed, 16 Jan 2019 12:55:10 +0100 |
parents | 2c3d30095d5e |
children | 71bdbf129190 |
line wrap: on
line source
#!/bin/sh -e ######################################## #### THIS IS A DEBIAN INIT.D SCRIPT #### ######################################## ### BEGIN INIT INFO # Provides: kallithea # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts instance of kallithea # Description: starts instance of kallithea using start-stop-daemon ### END INIT INFO APP_NAME="kallithea" APP_HOMEDIR="opt" APP_PATH="/$APP_HOMEDIR/$APP_NAME" CONF_NAME="production.ini" PID_PATH="$APP_PATH/$APP_NAME.pid" LOG_PATH="$APP_PATH/$APP_NAME.log" PYTHON_PATH="/$APP_HOMEDIR/$APP_NAME-venv" RUN_AS="root" DAEMON="$PYTHON_PATH/bin/gearbox" DAEMON_OPTS="serve --daemon \ --user=$RUN_AS \ --group=$RUN_AS \ --pid-file=$PID_PATH \ --log-file=$LOG_PATH -c $APP_PATH/$CONF_NAME" start() { echo "Starting $APP_NAME" PYTHON_EGG_CACHE="/tmp" start-stop-daemon -d $APP_PATH \ --start --quiet \ --pidfile $PID_PATH \ --user $RUN_AS \ --exec $DAEMON -- $DAEMON_OPTS } stop() { echo "Stopping $APP_NAME" start-stop-daemon -d $APP_PATH \ --stop --quiet \ --pidfile $PID_PATH || echo "$APP_NAME - Not running!" if [ -f $PID_PATH ]; then rm $PID_PATH fi } status() { echo -n "Checking status of $APP_NAME ... " pid=`cat $PID_PATH` status=`ps ax | grep $pid | grep -ve grep` if [ "$?" -eq 0 ]; then echo "running" else echo "NOT running" fi } case "$1" in status) status ;; start) start ;; stop) stop ;; restart) echo "Restarting $APP_NAME" ### stop ### stop wait ### start ### start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 esac