Mercurial > kallithea
view init.d/kallithea-daemon-arch @ 6602:2cf6d49b6073
git: add references for Git pull request heads
When a pull request is created, stick a reference to it in the refs/pull
namespace, similarly to what GitHub does, and remove it when the pull
request is deleted. That reference guarantees the commits stay around
and don't get garbage-collected when a PR is rebased or revised.
Also, that makes it possible to access head of historic pull requests
using Git by fetching a ref from the source repository.
Unlike GitHub though, we don't put the ref into the destination repository
and don't copy commits there to prevent undesired repository growth.
Kallithea uses global pull request identifiers, so there should not be
any confusion as to what pull request the ref corresponds to.
We may later provide a shim to redirect users to the source repository
if that deems needed.
author | Andrew Shadura <andrew@shadura.me> |
---|---|
date | Sat, 15 Apr 2017 14:10:39 +0200 |
parents | 2c3d30095d5e |
children |
line wrap: on
line source
#!/bin/bash ########################################### #### THIS IS AN ARCH LINUX RC.D SCRIPT #### ########################################### . /etc/rc.conf . /etc/rc.d/functions DAEMON=kallithea APP_HOMEDIR="/srv" APP_PATH="$APP_HOMEDIR/$DAEMON" CONF_NAME="production.ini" LOG_FILE="/var/log/$DAEMON.log" PID_FILE="/run/daemons/$DAEMON" APPL=/usr/bin/gearbox RUN_AS="*****" ARGS="serve --daemon \ --user=$RUN_AS \ --group=$RUN_AS \ --pid-file=$PID_FILE \ --log-file=$LOG_FILE \ -c $APP_PATH/$CONF_NAME" [ -r /etc/conf.d/$DAEMON ] && . /etc/conf.d/$DAEMON if [[ -r $PID_FILE ]]; then read -r PID < "$PID_FILE" if [[ $PID && ! -d /proc/$PID ]]; then unset PID rm_daemon $DAEMON fi fi case "$1" in start) stat_busy "Starting $DAEMON" export HOME=$APP_PATH [ -z "$PID" ] && $APPL $ARGS &>/dev/null if [ $? = 0 ]; then add_daemon $DAEMON stat_done else stat_fail exit 1 fi ;; stop) stat_busy "Stopping $DAEMON" [ -n "$PID" ] && kill $PID &>/dev/null if [ $? = 0 ]; then rm_daemon $DAEMON stat_done else stat_fail exit 1 fi ;; restart) $0 stop sleep 1 $0 start ;; status) stat_busy "Checking $name status"; ck_status $name ;; *) echo "usage: $0 {start|stop|restart|status}" esac