Re: [PATCH v12 11/11] Documentation: add documentation for 'git interpret-trailers'
- From
Christian Couder <christian.couder@gmail.com>
- Date
- Jul 1, 2014, 13:34 UTC
- Message-ID
- <CAP8UFD3QhOaepNzDwdxdV5hyjV4L7qvqREULZZYXBiiVbZZ9Ow@mail.gmail.com>
- In-Reply-To
- <53B150B4.1030303@gmail.com>
On Mon, Jun 30, 2014 at 1:57 PM, Jakub Narębski <jnareb@gmail.com> wrote:
Show 25 quoted lines
> Christian Couder wrote: > >> +------------ >> + >> +* Configure a 'sign' trailer with a command to automatically add a >> + 'Signed-off-by: ' with the author information only if there is no >> + 'Signed-off-by: ' already, and show how it works: >> ++ >> +------------ >> +$ git config trailer.sign.key "Signed-off-by: " >> +$ git config trailer.sign.ifmissing add >> +$ git config trailer.sign.ifexists doNothing >> +$ git config trailer.sign.command 'echo "$(git config user.name) <$(git >> config user.email)>"' >> +$ git interpret-trailers <<EOF >> +> EOF > > > How to configure git-interpret-trailers command so that it follow > current rules for DCO: > * Signed-off-by: is always at bottom; we can have > signoff+signoff+ack+signoff > * Signed-off-by: can repeat itself with the same author; > this denotes steps in coming up with current version of the patch. > * but we shouldn't repeat the same signoff one after another
Right now something like: signoff+signoff+ack+signoff is not supported.
It could be, if someone implements more options for the "trailer.<token>.where" config variable. Right now the only options are "after" and "before", but it could be possible to have "end" and "start" too. And maybe "end" should be the default instead of "after".
When I first worked on this series I was under the impression that people wanted to group all the trailers with the same token together.
Show 11 quoted lines
> So we want to allow this: > > Signed-off-by: A U Thor <author@example.com> > Signed-off-by: Joe R. Hacker <joe@hacker.com> > Acked-by: D E Veloper <developer@example.com> > Signed-off-by: C O Mitter <committer@example.com> > > but prevent this > > Signed-off-by: C O Mitter <committer@example.com> > Signed-off-by: C O Mitter <committer@example.com>
This can be prevented by using "addIfDifferentNeighbor", for example like this:
$ git config trailer.sign.ifexists addIfDifferentNeighbor
So I think the full config for what you want would be something like:
$ git config trailer.sign.key "Signed-off-by: " $ git config trailer.sign.ifmissing add $ git config trailer.sign.ifexists addIfDifferentNeighbor $ git config trailer.sign.where end $ git config trailer.sign.command 'echo "$(git config user.name) <$(git config user.email)>"'
$ git config trailer.ack.key "Acked-by: " $ git config trailer.ack.ifmissing add $ git config trailer.ack.ifexists addIfDifferentNeighbor $ git config trailer.ack.where end
Best, Christian.