Re: git format-patch --signoff
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Oct 21, 2021, 22:34 UTC
- Message-ID
- <xmqqo87ihurk.fsf@gitster.g>
- In-Reply-To
- <YXHaAu2G51vy5H8z@qmqm.qmqm.pl>
Michał Mirosław <mirq-linux@rere.qmqm.pl> writes:
Show 8 quoted lines
> I just noticed that `git format-patch --signoff` adds the 'Signed-off-by' > line even if the exact same line is already present in the commit message. > Could this be avoided in the tool? > > git version 2.30.2 > > Best Regards > Michał Mirosław
The rule should be "avoid adding the same sign-off as the one at the end". In other words, as a record of the flow of patch custody,
Signed-off-by: original author
Signed-off-by: contributing editor
Signed-off-by: original authoris perfectly reasonable for a patch originally authored, tweaked by an editor and sent back to the author, and further improved by the original author, while
Signed-off-by: original author
Signed-off-by: contributing editor
Signed-off-by: contributing editorsent back to the original author by the editor would not be sane, as there is no need to repeat the same s-o-b to signal whatever it might imply (e.g. the editor edited the patch twice before sending it back).
The test in t4014
https://github.com/git/git/blob/master/t/t4014-format-patch.sh#L1561
test_expect_success 'signoff: the same signoff at the end' '
append_signoff <<-\EOF >actual &&
subjectbody
Signed-off-by: C O Mitter <committer@example.com>
EOF
cat >expect <<-\EOF &&
4:Subject: [PATCH] subject
8:
10:
11:Signed-off-by: C O Mitter <committer@example.com>
EOF
test_cmp expect actual
'It creates a commit with an existing S-o-b by the same person as the one running the "format-patch --signoff" command (the append-signoff test helper used there (1) creates a commit with the log message fed from the standard input, (2) runs format-patch --signoff to show the commit and emits the Subject and S-o-b lines in it. As we can see, we expect that the existing signoff is not followed by another copy of the same signoff.
This test hasn't changed since it was written in Feb 2013, and I think 2.30.2 is recent enough to conform to the rule to pass this test.