Re: [PATCH] hook: use correct logical variable
From: Junio C Hamano <hidden>
Date: 2017-08-14 18:19:21
Kaartic Sivaraam [off-list ref] writes:
Sign-off added should be that of the "committer" not that of the
"commit's author".
Use the correct logical variable that identifies the committer.
Signed-off-by: Kaartic Sivaraam <redacted>
---
This fixes a small issue when trying to do the following with the script enabled,
$ git commit --amend -s
If the commit being amended was signed off by the commit's author
then the above command would *append* the sign-off of the
committer followed by that of the commit's author.
That' because the script is invoked only after the sign-off is
added by the '-s' option AND the default of 'trailer.ifexists'
for interpret-trailers currently defaults to the
'addIfDifferentNeighbor' thus interpret-trailer fails to identify
the existing sign-off of the commit's author and adds it.
Anyways, it doesn't make sense for a script to add the sign-off
of the commit's author. So, fixing it seemed correct to me.
I tend to agree with "Anyways" above ;-) simply because I found the
long paragraph more confusing than enlightening, leaving me wonder
"why is the user using different settings for author and committer
name" at the end, which _is_ an irrelevant point in the issue being
addressed.
The real issue is that this commented-out sample hook uses "author"
ident for the sign-off, while all the rest of Git (i.e. all callers
of append_signoff() in sequencer.c) use committer ident.
If anything to be changed to this patch, I would say its "should be"
in the log message can be clarified with "why", perhaps like:
Sign-off added should be that of the "committer", not that of
the "commit's author"; that is how the rest of Git adds sign-off
using sequencer.c::append_signoff().
Thanks.
quoted hunk
templates/hooks--prepare-commit-msg.sample | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)diff --git a/templates/hooks--prepare-commit-msg.sample b/templates/hooks--prepare-commit-msg.sample index a84c3e5a8..12dd8fd88 100755 --- a/templates/hooks--prepare-commit-msg.sample +++ b/templates/hooks--prepare-commit-msg.sample@@ -34,7 +34,7 @@ SHA1=$3 # *) ;; # esac -# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') # git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" # if test -z "$COMMIT_SOURCE" # then