added explanation for "you are not author" error
Added a documentation page that explains the "you are not author ..." error in details and what can be done to solve the problem. Signed-off-by: Edwin Kempin <edwin.kempin@gmail.com> Change-Id: I651baf5f363f4fed7f08b6213ac010dfa75b6966
This commit is contained in:
parent
35d0f39ed0
commit
9b34e35d4b
@ -10,6 +10,7 @@ Error Messages
|
||||
--------------
|
||||
|
||||
* link:error-squash-commits-first.html[squash commits first]
|
||||
* link:error-you-are-not-author.html[you are not author ...]
|
||||
* link:error-you-are-not-committer.html[you are not committer ...]
|
||||
|
||||
|
||||
|
145
Documentation/error-you-are-not-author.txt
Normal file
145
Documentation/error-you-are-not-author.txt
Normal file
@ -0,0 +1,145 @@
|
||||
you are not author ...
|
||||
=========================
|
||||
|
||||
Gerrit verifies for every pushed commit 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 "you are not author ...". This policy can be
|
||||
bypassed by having the access right '+1 Forge Author Identity' in the
|
||||
link:access-control.html#category_FORG['Forge Identity'] category.
|
||||
|
||||
This error may happen for two reasons:
|
||||
1. incorrect configuration of the e-mail address on client or server
|
||||
side
|
||||
2. 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 "you are not
|
||||
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 with explicitly setting the author
|
||||
before continuing the rebase.
|
||||
|
||||
Here is an exmaple 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 "you are not
|
||||
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]
|
Loading…
x
Reference in New Issue
Block a user