summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2017-08-11 13:26:56 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2017-08-11 13:26:56 -0700
commit127f98f42b0b72d2d23c97e7d783d369b6e33fa0 (patch)
treebb22b4381ebc8d52fa4e6abde1f17d0b342dc82f
parentMerge branch 'bw/object-id' (diff)
parenthook: add a simple first example (diff)
downloadtgif-127f98f42b0b72d2d23c97e7d783d369b6e33fa0.tar.xz
Merge branch 'ks/prepare-commit-msg-sample'
Remove an example that is now obsolete from a sample hook, and improve an old example in it that added a sign-off manually to use the interpret-trailers command. * ks/prepare-commit-msg-sample: hook: add a simple first example hook: add sign-off using "interpret-trailers" hook: name the positional variables hook: cleanup script
-rw-r--r--Documentation/githooks.txt4
-rwxr-xr-xtemplates/hooks--prepare-commit-msg.sample30
2 files changed, 20 insertions, 14 deletions
diff --git a/Documentation/githooks.txt b/Documentation/githooks.txt
index b2514f4d44..623ed1a138 100644
--- a/Documentation/githooks.txt
+++ b/Documentation/githooks.txt
@@ -121,8 +121,8 @@ it is not suppressed by the `--no-verify` option. A non-zero exit
means a failure of the hook and aborts the commit. It should not
be used as replacement for pre-commit hook.
-The sample `prepare-commit-msg` hook that comes with Git comments
-out the `Conflicts:` part of a merge's commit message.
+The sample `prepare-commit-msg` hook that comes with Git removes the
+help message found in the commented portion of the commit template.
commit-msg
~~~~~~~~~~
diff --git a/templates/hooks--prepare-commit-msg.sample b/templates/hooks--prepare-commit-msg.sample
index 86b8f227ec..dc707e46eb 100755
--- a/templates/hooks--prepare-commit-msg.sample
+++ b/templates/hooks--prepare-commit-msg.sample
@@ -9,8 +9,8 @@
#
# To enable this hook, rename this file to "prepare-commit-msg".
-# This hook includes three examples. The first comments out the
-# "Conflicts:" part of a merge commit.
+# This hook includes three examples. The first one removes the
+# "# Please enter the commit message..." help message.
#
# The second includes the output of "git diff --name-status -r"
# into the message, just before the "git status" output. It is
@@ -20,17 +20,23 @@
# The third example adds a Signed-off-by line to the message, that can
# still be edited. This is rarely a good idea.
-case "$2,$3" in
- merge,)
- @PERL_PATH@ -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;;
+COMMIT_MSG_FILE=$1
+COMMIT_SOURCE=$2
+SHA1=$3
-# ,|template,)
-# @PERL_PATH@ -i.bak -pe '
-# print "\n" . `git diff --cached --name-status -r`
-# if /^#/ && $first++ == 0' "$1" ;;
+@PERL_PATH@ -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE"
- *) ;;
-esac
+# case "$COMMIT_SOURCE,$SHA1" in
+# ,|template,)
+# @PERL_PATH@ -i.bak -pe '
+# print "\n" . `git diff --cached --name-status -r`
+# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;;
+# *) ;;
+# esac
# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
-# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
+# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE"
+# if test -z "$COMMIT_SOURCE"
+# then
+# @PERL_PATH@ -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE"
+# fi