'git interpret-trailers' is tripped by comment characters other than '#'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi.

When I tried to add ChangeId tag for Gerrit Code Review,
I noticed 'git interpret-trailers' went wrong
if a comment character other than '#' is used.


Quick Test Code
---------------

cat <<EOF | git -c trailer.ifexists=doNothing interpret-trailers \
      --trailer "Change-Id: new tag"
subject: this is commit subject

Blah Blah

Change-Id: old tag
Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>

; This is a comment line with non-default char

EOF

[result]

subject: this is commit subject

Blah Blah

Change-Id: old tag
Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>

; This is a comment line with non-default char

Change-Id: new tag



The same trailer 'Change-Id' was appended,
ignoring trailer.ifexists=doNothing



Details
-------

For Gerrit Code Review, we add "Change-Id" tag,
which will identify the patch though the review process.

For details, you can refer:
https://www.gerritcodereview.com/cmd-hook-commit-msg.html


Gerrit provides a shell script "commit-msg",
which is hooked from 'git commit'.

You can see its implementation here:
https://github.com/GerritCodeReview/gerrit/blob/v3.0.0/resources/com/google/gerrit/server/tools/root/hooks/commit-msg


It is implemented by using
'git interpret-trailers'.


I prefer ';' to '#" for commit comment lines.

So, I add the following:

[core]
        commentChar = ";"



With core.commentChar is set,
'git interpret-trailers' is so confused
that accumulate the same tag for every 'git commit --amend'.


I guess this should be fixed on the Git side.

Perhaps, 'git interpret-trailers' should be changed
to recognize core.commentChar ?



-- 
Best Regards
Masahiro Yamada



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux