diff options
| author | Joey Hess <joeyh@joeyh.name> | 2016-03-07 18:20:31 -0400 |
|---|---|---|
| committer | Joey Hess <joeyh@joeyh.name> | 2016-03-07 18:20:31 -0400 |
| commit | 9556734c02a0b05764e83419ae72710908419cdc (patch) | |
| tree | d60d67bb93a978f0cdce026d89ad46ae61d68487 /contrib/post-checkout-hook | |
| parent | 2be51d0332a14fae68d18e61ed448a659ed789b1 (diff) | |
got tired of needing to cherry-pick changes into joeyconfig, wrote a hook
So, when I merge some branch into joeyconfig, config.hs will automatically
be updated to point to joeyconfig.hs again, even if the merge changes it.
And, when I merge joeyconfig into master, config.hs will be pointed back to
config-simple.hs
This may also be useful for others who maintain a branch like joeyconfig.
Diffstat (limited to 'contrib/post-checkout-hook')
| -rwxr-xr-x | contrib/post-checkout-hook | 28 |
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 |
