jobd.pl: clean up get_project_path usage
[girocco/readme.git] / jobs / updateweb.sh
blob8ac69142052d13e8105257152b33a1a312395010
1 #!/bin/sh
3 . @basedir@/shlib.sh
5 set -e
7 REPO_DIR="/home/repo/repo"
8 LOCK_FILE="/tmp/updateweb-$cfg_tmpsuffix.lock"
9 REMOTE="origin"
10 BRANCH="rorcz"
12 # Make sure we don't run twice.
13 if [ -s "$LOCK_FILE" ] && kill -0 "$(cat "$LOCK_FILE")" 2>/dev/null; then
14 echo "Already running updateweb.sh (stuck?) with pid $(cat "$LOCK_FILE")" >&2
15 exit 1
17 trap 'rm -f "$LOCK_FILE"' EXIT
18 trap 'exit 130' INT
19 trap 'exit 143' TERM
20 echo $$ >"$LOCK_FILE"
22 cd "$REPO_DIR"
23 git_add_config "gc.autodetach=false"
24 git fetch origin
25 if [ -n "$(git rev-list $BRANCH..$REMOTE/$BRANCH)" ]; then
26 case "$(git describe --always --dirty=..dirty)" in *..dirty)
27 echo "updateweb.sh: refusing to update because worktree is dirty" >&2
28 rm -f "$LOCK_FILE"
29 exit 1
30 esac
31 git merge --ff-only "$REMOTE/$BRANCH" &&
32 git submodule update --init --recursive &&
33 make -s &&
34 make install || :
37 rm -f "$LOCK_FILE"
38 trap - EXIT INT TERM