On 27 May 2011, at 18:11, Wayne Beaton wrote:
Also, do you know why the Git contribution rules
amend the author instead of using the signed-off-by
Because that's what I thought we should do. Nobody offered
alternatives. Is it time to consider alternatives?
Yes, I believe so. The author of a commit should really
remain the same, as it shows who originated the code in the
first place. That's how you can get traceability of the code in
the first place.
Git has the concept of a 'signed off by' which is used to
attach information about someone who approves a commit. This can
be done with git commit -s on the change(s) in question.
In places like GitHub, the author is shown as the author, and the
committer is the person who has the signed-off-by annotation. The
reason for having this is to record some kind of approval of the
change but whilst still maintaining the traceability to the
author. (It also means you don't need to muck around with the
rewriting authorship history or doing nasty things -- a commit
--amend -s will be enough for you to add your approval to someone
Add Signed-off-by line by the committer at the
end of the commit
Gerrit also presents 'author' versus 'committer' as separate
fields. For example:
On the other hand, there are cases where these differ:
The point is that the Author is always the person who
originated the change, whereas the Committer is the person who
put that change in the repository. Many times they are the same
person but when they differ, the Author identifies who wrote it
and the Commiter represents who approved its inclusion in the
In other words, I think the advice at the moment is entirely
What I would suggest is that we use the 'signed-off-by' to
require a committer on the project but the author can be anyone.
So the people who can commit to a project either show up as
authors, or as signatories to other changes.
Note that it's also somewhat conventional to add the
'signed-off-by' field to your own commits.
EGit has an option to 'add signed-off-by' upon commit as
In other words, signed-off-by is perfect for this use case :)
PS If the submitted change is a single commit, then a
committer can pull the change, then do a commit amend with the
signoff without having to do any rewriting. It'll change the
commit id but will save you having to run lots of command line
commands to work. If it's multiple then you need to do a rebase
type op to add the committer names on.
ecf-dev mailing list