From: Junio C Hamano Date: Fri, 13 Jun 2014 17:32:09 GMT Subject: Re: [PATCH RFC] git-am: support any number of signatures Message-ID: In-Reply-To: <20140613080036.GA2117@redhat.com> "Michael S. Tsirkin" writes: > On Thu, Jun 12, 2014 at 12:07:03PM -0700, Junio C Hamano wrote: >> "Michael S. Tsirkin" writes: >> ... >> > 1. new parameter am.signoff can be used any number >> > of times: >> > >> > [am] >> > signoff = "Reviewed-by: Michael S. Tsirkin " >> > signoff = "Signed-off-by: Michael S. Tsirkin " >> > >> > if set all signatures are picked up when git am -s is used. >> >> How does this interact with the logic to avoid appending the same >> Signed-off-by: line as the last one the incoming message already >> has? > > Not handled if you have multiple signatures. > That will have to be fixed. > Do we only care about the last line? > > Signed-off-by: A > Signed-off-by: B > > do we want to add > > Signed-off-by: A > > or would it be better to replace with > Signed-off-by: B > Signed-off-by: A > > ? > > Current git am will add A twice, I wonder if this is > a feature or a bug. This is very much deliberate. Appending A after existing A and B is meant to record that the patch originated from A, passed thru B possibly with changes by B, came back to A who wants to assert that the result is still under DCO. The only case we can safely omit appending A's sign-off is when the last one in the chain is by A. Imagine that you had a patch signed off by B, which A may have tweaked and forwarded under DCO with A's sign-off. Such a patch would have sign-off chain B-A. Now A makes further changes to the patch and says "the further change is also something I am authorized to release as open source" with the "-s" option or some other way. It would not change that A can contribute under DCO if we did not add an extra A after existing B-A sign-off chain in that case.