4053b21319
The access right '+2 Forge Committer or Tagger Identity' in the 'Forge Identity' category doesn't exist anymore, but was replaced by the 'Forge Committer' access right. Change-Id: I786579407939b66ec886645fd687220e21ccb04d Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
109 lines
3.8 KiB
Plaintext
109 lines
3.8 KiB
Plaintext
= invalid committer
|
|
|
|
For every pushed commit Gerrit verifies that the e-mail address of
|
|
the committer matches one of the registered e-mail addresses of the
|
|
pushing user. If this is not the case pushing the commit fails with
|
|
the error message "invalid committer". This policy can be
|
|
bypassed by having the access right
|
|
link:access-control.html#category_forge_committer['Forge Committer'].
|
|
|
|
This error may happen for two reasons:
|
|
|
|
. incorrect configuration of the e-mail address on client or server
|
|
side
|
|
. missing privileges to push commits that were committed by other
|
|
users
|
|
|
|
|
|
== Incorrect configuration of the e-mail address on client or server side
|
|
|
|
If pushing to Gerrit fails with the error message "invalid committer"
|
|
and you committed the change for which the push fails,
|
|
then either you have not successfully registered this e-mail address
|
|
for your Gerrit account or the committer information of the pushed
|
|
commit is incorrect.
|
|
|
|
=== Configuration of e-mail address in Gerrit
|
|
|
|
Check in Gerrit under 'Settings -> Identities' which e-mail addresses
|
|
you've configured for your Gerrit account. If no e-mail address is
|
|
registered go to 'Settings -> Contact Information' and register a new
|
|
e-mail address there. Make sure you confirm your e-mail address by
|
|
clicking on the link in the e-mail verification mail sent by Gerrit.
|
|
|
|
=== Incorrect committer information
|
|
|
|
For every commit Git maintains the user who did the commit, the so
|
|
called committer. Git computes the committer out of the Git
|
|
configuration parameters 'user.name' and 'user.email'.
|
|
|
|
----
|
|
$ git config -l
|
|
...
|
|
user.name=John Doe
|
|
user.email=john.doe@example.com
|
|
...
|
|
----
|
|
|
|
A commit done with the above Git configuration would have
|
|
"John Doe <john.doe@example.com>" as committer.
|
|
|
|
To see the committer information for existing commits do
|
|
"git log --format=full":
|
|
|
|
----
|
|
$ git log --format=full
|
|
commit cbe31bdba7d14963eb42f7e1e0eef1fe58698c05
|
|
Author: John Doe <john.doe@example.com>
|
|
Commit: John Doe <john.doe@example.com>
|
|
|
|
my commit
|
|
|
|
----
|
|
|
|
Check in Git that the committer information of the commit that should
|
|
be pushed is correct. As explained above you can do this by
|
|
'git log --format=full'. The committer should have the same e-mail
|
|
address that you've configured for your Gerrit account. If the
|
|
committer information is incorrect set the Git configuration
|
|
parameters 'user.name' and 'user.email' to the correct values (you
|
|
might want to set this globally by including the option '--global'):
|
|
|
|
----
|
|
$ git config user.name "John Doe"
|
|
$
|
|
$ git config user.email john.doe@example.com
|
|
$
|
|
----
|
|
|
|
Now you should rewrite the commits for which the committer
|
|
information is wrong. If only the last commit is affected you can do
|
|
this by doing a 'commit --amend'. If you need to update the committer
|
|
information for several commits it gets more complicated. In this
|
|
case you have to do an interactive git rebase for the affected
|
|
commits. While doing the interactive rebase you have to ensure that
|
|
the commits are rewritten (e.g. by choosing 'reword' for all these
|
|
commits and then confirming all the commit messages). Just picking
|
|
all the changes will not work as in this case the committer is not
|
|
rewritten. For further details about git rebase please check the
|
|
link:http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html[Git documentation].
|
|
|
|
|
|
== Missing privileges to push commits that were committed by other users
|
|
|
|
If pushing to Gerrit fails with the error message "invalid committer"
|
|
and somebody else committed the change for which the
|
|
push fails, then you have no permissions to forge the committer
|
|
identity. In this case you may contact the project owner to request
|
|
the link:access-control.html#category_forge_committer['Forge Committer']
|
|
access right or ask the maintainer to commit this change on the author's
|
|
behalf.
|
|
|
|
|
|
GERRIT
|
|
------
|
|
Part of link:error-messages.html[Gerrit Error Messages]
|
|
|
|
SEARCHBOX
|
|
---------
|