diff options
author | Igor Wiedler <igor@wiedler.ch> | 2010-03-13 13:04:44 +0100 |
---|---|---|
committer | Igor Wiedler <igor@wiedler.ch> | 2010-03-13 13:10:14 +0100 |
commit | 6a9304021f41cd8319ccb009bb24792ffc5438bc (patch) | |
tree | 4f6eac567b4a71a8197e275b96bf7bc4e712c271 | |
parent | f9192bed79c2d5a0c1e8388bcdc35be3d21aa9a8 (diff) | |
download | forums-6a9304021f41cd8319ccb009bb24792ffc5438bc.tar forums-6a9304021f41cd8319ccb009bb24792ffc5438bc.tar.gz forums-6a9304021f41cd8319ccb009bb24792ffc5438bc.tar.bz2 forums-6a9304021f41cd8319ccb009bb24792ffc5438bc.tar.xz forums-6a9304021f41cd8319ccb009bb24792ffc5438bc.zip |
[git-tools] Improvements on prepare-commt-msg hook
prepare-commit-hook now uses `git symbolic-ref HEAD` instead of reading
$GIT_DIR/HEAD directly. This seems to be a more portable solution.
Thanks to Chris (cs278/ToonArmy) for the suggestion.
-rwxr-xr-x | git-tools/hooks/prepare-commit-msg | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/git-tools/hooks/prepare-commit-msg b/git-tools/hooks/prepare-commit-msg index e1e05d67b8..354b539cc1 100755 --- a/git-tools/hooks/prepare-commit-msg +++ b/git-tools/hooks/prepare-commit-msg @@ -10,15 +10,25 @@ # # ln -s ../../git-tools/hooks/prepare-commit-msg \\ # .git/hooks/prepare-commit-msg -# -# Make sure it is executable. -# strip off ref: refs/heads/ -branch="$(cat $GIT_DIR/HEAD | sed 's/ref: refs\/heads\///g')" +# get branch name +branch="$(git symbolic-ref HEAD)" + +# exit if no branch name is present +# (eg. detached HEAD) +if [ $? -ne 0 ] +then + exit +fi + +# strip off refs/heads/ +branch="$(echo "$branch" | sed "s/refs\/heads\///g")" +# add [branchname] to commit message # * only run when normal commit is made (without -m or -F; # not a merge, etc.) # * also make sure the branch name begins with bug/ or feature/ -if [ "$2" = "" ] && [ $(echo "$branch" | grep -e '^\(bug\|feature\)/') ]; then - echo "[$branch] $(cat $1)" > "$1" +if [ "$2" = "" ] && [ $(echo "$branch" | grep -e "^\(bug\|feature\)/") ] +then + echo "[$branch] $(cat "$1")" > "$1" fi |