| you are not committer ... |
| ========================= |
| |
| Gerrit verifies for every pushed commit 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 "you are not committer ...". This policy can be |
| bypassed by having the access right '+2 Forge Committer or Tagger |
| Identity' in the link:access-control.html#category_FORG['Forge Identity'] category. |
| |
| 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 "you are not |
| 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 "you are not |
| 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 access right '+2 Forge Committer or Tagger 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] |