propellor-5.3.4: contrib/post-merge-hook
#!/bin/sh
#
# git post-merge (and post-checkout) hook, used by propellor's author to
# maintain a joeyconfig branch with some changes while being able to merge
# between it and branches without the changes.
#
# Each time this hook is run, it checks if it's on a branch with
# name ending in "config". If so, config.hs is pointed at $branch.hs
# and privdata/relocate is written to make files in privdata/.$branch/ be
# used.
#
# Otherwise, config.hs is pointed at config-simple.hs, and
# privdata/relocate is removed.
set -e
commit () {
if [ -n "$(git status --short privdata/relocate config.hs)" ]; then
git commit -m "$1"
fi
}
branch="$(git symbolic-ref --short HEAD)"
case "$branch" in
"")
true
;;
*config)
ln -sf "$branch".hs config.hs
git add config.hs
echo ".$branch" > privdata/relocate
git add privdata/relocate
commit "setting up $branch after merge"
;;
*)
ln -sf config-simple.hs config.hs
git add config.hs
if [ -e privdata/relocate ]; then
rm -f privdata/relocate
git rm --quiet privdata/relocate
fi
commit "clean up after merge"
;;
esac