path: root/templates
diff options
authorKaartic Sivaraam <>2017-07-11 14:11:10 (GMT)
committerJunio C Hamano <>2017-07-12 20:20:44 (GMT)
commite1a4a28373befdce97daf9702f6ab790c9806451 (patch)
tree6a4c843e87b0ede3aa9d65ac04bd3be20d383da5 /templates
parent94eba456b4f94228f5f724ce512decb8934522c1 (diff)
hook: add sign-off using "interpret-trailers"
The sample hook to prepare the commit message before a commit allows users to opt-in to add the sign-off to the commit message. The sign-off is added at a place that isn't consistent with the "-s" option of "git commit". Further, it could go out of view in certain cases. Add the sign-off in a way similar to "-s" option of "git commit" using git's interpret-trailers command. It works well in all cases except when the user invokes "git commit" without any arguments. In that case manually add a new line after the first line to ensure it's consistent with the output of "-s" option. Signed-off-by: Kaartic Sivaraam <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'templates')
1 files changed, 5 insertions, 1 deletions
diff --git a/templates/hooks--prepare-commit-msg.sample b/templates/hooks--prepare-commit-msg.sample
index eb59121..87d7705 100755
--- a/templates/hooks--prepare-commit-msg.sample
+++ b/templates/hooks--prepare-commit-msg.sample
@@ -32,4 +32,8 @@ SHA1=$3
# esac
# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
-# grep -qs "^$SOB" "$COMMIT_MSG_FILE" || echo "$SOB" >> "$COMMIT_MSG_FILE"
+# 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