#!/bin/sh [ -z "$GL_RC" ] && die "ENV GL_RC not set" [ -z "$GL_BINDIR" ] && die "ENV GL_BINDIR not set" [ -z "$GL_ADMINDIR" ] && die "ENV GL_ADMINDIR not set" # ensure that the admin is not sneaking in src/ and hooks/ :) GIT_WORK_TREE=$GL_ADMINDIR git ls-tree --name-only master | perl -lne 'exit 1 if /^(src|hooks)$/' || { echo "*** ERROR ***" >&2 echo "no files/dirs called 'src' or 'hooks' are allowed, sorry" >&2 echo "until those files are deleted, the post-update hook will not run" >&2 exit 1 } # checkout the master branch to $GL_ADMINDIR # (the GL_ADMINDIR env var would have been set by gl-auth-command) GIT_WORK_TREE=$GL_ADMINDIR git checkout -f master od=$PWD cd $GL_ADMINDIR $GL_BINDIR/gl-compile-conf cd $od ADMIN_POST_UPDATE_CHAINS_TO=`$GL_BINDIR/gl-query-rc ADMIN_POST_UPDATE_CHAINS_TO` [ -n "$ADMIN_POST_UPDATE_CHAINS_TO" ] || ADMIN_POST_UPDATE_CHAINS_TO=hooks/post-update.secondary if [ -f $ADMIN_POST_UPDATE_CHAINS_TO ] || [ -L $ADMIN_POST_UPDATE_CHAINS_TO ] then exec $ADMIN_POST_UPDATE_CHAINS_TO "$@" fi