summaryrefslogtreecommitdiff
path: root/contrib/post-checkout-hook
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/post-checkout-hook')
-rwxr-xr-xcontrib/post-checkout-hook28
1 files changed, 28 insertions, 0 deletions
diff --git a/contrib/post-checkout-hook b/contrib/post-checkout-hook
new file mode 100755
index 00000000..38998398
--- /dev/null
+++ b/contrib/post-checkout-hook
@@ -0,0 +1,28 @@
+#!/bin/sh
+#
+# git post-checkout hook, used by propellor's author to maintain a
+# joeyconfig branch where config.hs is a symlink to joeyconfig.hs
+#
+# 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
+# Otherwise, config.hs is pointed at config-simple.hs
+#
+
+set -e
+prevhead="$1"
+newhead="$2"
+branchcheckout="$3"
+if [ "$branchcheckout" != 0 ]; then
+ branch="$(git symbolic-ref --short HEAD)"
+ case "$branch" in
+ "")
+ true
+ ;;
+ *config)
+ ln -sf "$branch".hs config.hs
+ ;;
+ *)
+ ln -sf config-simple.hs config.hs
+ ;;
+ esac
+fi