Joe Perches <joe@xxxxxxxxxxx> 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 <od@xxxxxxxxxx> > Acked-by: Random Developer <rd@xxxxxxxxxx> > Signed-off-by: Original Developer <od@xxxxxxxxxx> 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.