Joe Perches [off-list ref] writes:
git-am -s will avoid duplicating the last signature
in a patch.
But given a developer creates a patch, send it around for
acks/other signoffs, collects signatures and then does
a git am -s on a different branch, this sort of sign-off
chain is possible:
Signed-off-by: Original Developer [off-list ref]
Acked-by: Random Developer [off-list ref]
Signed-off-by: Original Developer [off-list ref]
Both correct and allowing the earlier one duplicated as long as
there is somebody/something else in between is deliberate.
Should there be an option to avoid duplicate signatures
in a sequence where an author can git-am the same patch?
I dunno. The way "Signed-off-by" is handled is designed
specifically to support the meaning of that footer, namely to record
where it originated and whose hands it passed, used in the kernel
and Git land. Other projects certainly may have need for footers
that denote different things that want different semantics (e.g. Who
authored it and who cheered on it), but that is outside the scope of
the "Signed-off-by" supported by "am -s" and "commit -s".
Support for more generic footers was supposed to come when the
"interpret-trailers" topic started, but the author of the topic
seems to have lost interest before the mechanism has become ready to
be integrated in the workflow commands like "am", "commit", "rebase"
etc., which is unfortunate.
sequencer.c:append_signoff() has a flag for APPEND_SIGNOFF_DEDUP
Yes, I think this is one of the warts we talked about getting rid of
but haven't got around to it. It is there because "format-patch -s"
was incorrectly written to dedup Signed-off-by: from anywhere in its
early implementation and to keep the same behaviour. We should drop
that flag from append_signoff() function.
(adding lkml)
On Tue, 2016-08-30 at 09:54 -0700, Junio C Hamano wrote:
Joe Perches [off-list ref] writes:
quoted
git-am -s will avoid duplicating the last signature
in a patch.
But given a developer creates a patch, send it around for
acks/other signoffs, collects signatures and then does
a git am -s on a different branch, this sort of sign-off
chain is possible:
Signed-off-by: Original Developer [off-list ref]
Acked-by: Random Developer [off-list ref]
Signed-off-by: Original Developer [off-list ref]
Both correct and allowing the earlier one duplicated as long as
there is somebody/something else in between is deliberate.
linux-kernel has a script (scripts/checkpatch.pl) that
looks for duplicate signatures (<foo>-by: [name] <address>)
Should the last Signed-off-by: in the commit log be
excluded from this check?
quoted
Should there be an option to avoid duplicate signatures
in a sequence where an author can git-am the same patch?
I dunno. The way "Signed-off-by" is handled is designed
specifically to support the meaning of that footer, namely to record
where it originated and whose hands it passed, used in the kernel
and Git land. Other projects certainly may have need for footers
that denote different things that want different semantics (e.g. Who
authored it and who cheered on it), but that is outside the scope of
the "Signed-off-by" supported by "am -s" and "commit -s".
Support for more generic footers was supposed to come when the
"interpret-trailers" topic started, but the author of the topic
seems to have lost interest before the mechanism has become ready to
be integrated in the workflow commands like "am", "commit", "rebase"
etc., which is unfortunate.
quoted
sequencer.c:append_signoff() has a flag for APPEND_SIGNOFF_DEDUP
Yes, I think this is one of the warts we talked about getting rid of
but haven't got around to it. It is there because "format-patch -s"
was incorrectly written to dedup Signed-off-by: from anywhere in its
early implementation and to keep the same behaviour. We should drop
that flag from append_signoff() function.
On Tue, 2016-08-30 at 09:54 -0700, Junio C Hamano wrote:
Support for more generic footers was supposed to come when the
"interpret-trailers" topic started, but the author of the topic
seems to have lost interest before the mechanism has become ready to
be integrated in the workflow commands like "am", "commit", "rebase"
etc., which is unfortunate.
I think adding at least an option to git send-email
allowing auto-cc's for all
"<foo>-by: [name] <address>"
lines in the commit log would be useful.
Today, only "Signed-off-by" and "CC" lines are
added to cc's.
I've always called these lines "<foo>-by:" lines
"signatures", but perhaps there's a better name.
Any preference?
from git send-email --help
--suppress-cc=<category>
Specify an additional category of recipients to suppress the
auto-cc of:
· author will avoid including the patch author
· self will avoid including the sender
· cc will avoid including anyone mentioned in Cc lines in the
patch header except for self (use self for that).
· bodycc will avoid including anyone mentioned in Cc lines in the
patch body (commit message) except for self (use self for
that).
· sob will avoid including anyone mentioned in Signed-off-by
lines except for self (use self for that).
· cccmd will avoid running the --cc-cmd.
· body is equivalent to sob + bodycc
· all will suppress all auto cc values.
quoted
sequencer.c:append_signoff() has a flag for APPEND_SIGNOFF_DEDUP
Yes, I think this is one of the warts we talked about getting rid of
but haven't got around to it. It is there because "format-patch -s"
was incorrectly written to dedup Signed-off-by: from anywhere in its
early implementation and to keep the same behaviour. We should drop
that flag from append_signoff() function.