gerrit/Documentation/error-no-new-changes.txt
David Pursehouse 905cb4e79f Clarify documentation of "no new changes" error message
Update the documentation to clarify that it is necessary to
replace the Change-Id when re-pushing a commit to the same
destination branch. Previously the documentation also implied
that this was necessary when pushing to a different branch.

Bug: Issue 8222
Change-Id: I4a7f87322c7117f34d2ea3a8be8eec4b38fa406a
2018-01-26 08:49:52 +09:00

65 lines
2.8 KiB
Plaintext

= no new changes
With this error message Gerrit rejects to push a commit if the pushed
commit was already successfully pushed to Gerrit in project scope.
In this case there is no new change and consequently there is nothing
for Gerrit to do.
If your push is failing with this error message, you normally
don't have to do anything since the commit was already successfully
pushed. Still this error message may sometimes come as a surprise if
you expected a new commit to be pushed. In this case you should
verify that:
. your changes were successfully committed locally (otherwise there
is no new commit which can be pushed)
. you are pushing the correct commit (e.g. if you are pushing HEAD
make sure you have locally checked out the correct branch)
If you are sure you are pushing the correct commit and you are still
getting the "no new changes" error unexpectedly you can take the
commit ID and search for the corresponding change in Gerrit. To do
this simply paste the commit ID in the Gerrit Web UI into the search
field. Details about how to search in Gerrit are explained link:user-search.html[here].
Please note that each commit can really be pushed only once. This
means:
. you cannot push a commit again even if the change for which the
commit was pushed before was abandoned (but you may restore the
abandoned change)
. you cannot reset a change to an old patch set by pushing the old
commit for this change again
. if a commit was pushed to one branch you cannot push this commit
to another branch in project scope.
. if a commit was pushed directly to a branch (without going through
code review) you cannot push this commit once again for code
review (please note that in this case searching by the commit ID
in the Gerrit Web UI will not find any change)
If you need to re-push a commit you may rewrite this commit by
link:http://www.kernel.org/pub/software/scm/git/docs/git-commit.html[amending] it or doing an interactive link:http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html[git rebase]. By rewriting the
commit you actually create a new commit (with a new commit ID in
project scope) which can then be pushed to Gerrit.
If you are pushing the new change to the same destination branch as
the old commit (case 1 above), you also need to replace it with a new
Change-Id, otherwise the push will fail with another error message.
== Fast-forward merges
You will also encounter this error if you did a Fast-forward merge
and try to push the result. A workaround is to use the
link:user-upload.html#base[Selecting Merge Base]
feature or enable the
link:project-configuration.html#_use_target_branch_when_determining_new_changes_to_open[
Use target branch when determining new changes to open]
configuration.
GERRIT
------
Part of link:error-messages.html[Gerrit Error Messages]
SEARCHBOX
---------