| = invalid author | 
 |  | 
 | For every pushed commit Gerrit verifies that the e-mail address of | 
 | the author 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 author". This policy can be | 
 | bypassed by having the access right | 
 | link:access-control.html#category_forge_author['Forge Author']. | 
 |  | 
 | This error may happen for two reasons: | 
 |  | 
 | . incorrect configuration of the e-mail address on client or server side | 
 | . missing privileges to push commits of other authors | 
 |  | 
 |  | 
 | == Incorrect configuration of the e-mail address on client or server side | 
 |  | 
 | If pushing to Gerrit fails with the error message "invalid author" | 
 | and you are the author of the commit for which the push | 
 | fails, then either you have not successfully registered this e-mail | 
 | address for your Gerrit account or the author 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. | 
 | If you don't receive the e-mail verification mail it might be that it | 
 | was caught by your spam filter. | 
 |  | 
 | === Incorrect author information | 
 |  | 
 | For every commit Git maintains the author. If not explicitly | 
 | specified Git computes the author on commit 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 author. | 
 |  | 
 | You can see the author information for existing commits in the | 
 | history. | 
 |  | 
 | ---- | 
 |   $ git log | 
 |   commit cbe31bdba7d14963eb42f7e1e0eef1fe58698c05 | 
 |   Author: John Doe <john.doe@example.com> | 
 |   Date:   Mon Dec 20 15:36:33 2010 +0100 | 
 |  | 
 |       my commit | 
 |  | 
 | ---- | 
 |  | 
 | Check in Git that the author information of the commit that should | 
 | be pushed is correct. The author should have the same e-mail address | 
 | that you've configured for your Gerrit account. If the author | 
 | 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 update the author for those commits where the author | 
 | information is wrong. If only the last commit is affected you can do | 
 | this by amending the last commit and explicitly setting the author: | 
 |  | 
 | ---- | 
 |   $ git commit --amend --author "John Doe <john.doe@example.com>" | 
 | ---- | 
 |  | 
 | If you need to update the author 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 choose 'edit' for those commits for which the | 
 | author should be rewritten. When the rebase stops at such a commit | 
 | you have to amend the commit, explicitly setting the author | 
 | before continuing the rebase. | 
 |  | 
 | Here is an example that shows how the interactive rebase is used to | 
 | update the author for the last 3 commits: | 
 |  | 
 | ---- | 
 |   $ git rebase -i HEAD~3 | 
 |  | 
 |   edit 51f0d47 one commit | 
 |   edit 7299690 another commit | 
 |   edit 304ad96 one more commit | 
 |  | 
 |   Stopped at 51f0d47... one commit | 
 |   You can amend the commit now, with | 
 |  | 
 |           git commit --amend | 
 |  | 
 |   Once you are satisfied with your changes, run | 
 |  | 
 |           git rebase --continue | 
 |  | 
 |   $ git commit --amend --author "John Doe <john.doe@example.com>" | 
 |   [detached HEAD baea1e4] one commit | 
 |    Author: John Doe <john.doe@example.com> | 
 |    1 files changed, 4 insertions(+), 1 deletions(-) | 
 |  | 
 |   $ git rebase --continue | 
 |  | 
 |   ... | 
 | ---- | 
 |  | 
 | 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 of other users | 
 |  | 
 | If pushing to Gerrit fails with the error message "invalid author" | 
 | and somebody else is author of the commit for which the | 
 | push fails, then you have no permissions to forge the author | 
 | identity. In this case you may contact the project owner to request | 
 | the access right '+1 Forge Author Identity' in the 'Forge Identity' | 
 | category or ask the maintainer to commit this change on the author's | 
 | behalf. | 
 |  | 
 |  | 
 | GERRIT | 
 | ------ | 
 | Part of link:error-messages.html[Gerrit Error Messages] | 
 |  | 
 | SEARCHBOX | 
 | --------- |