blob: 6434b2fff2b77821a668a9d2598dd709e5c1487a [file] [log] [blame]
= 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 generally it only makes sense for each commit to
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 (see link:user-upload.html#base[exception]).
. 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), see
If you need to re-push a commit you may rewrite this commit by
it or doing an interactive
link:[git rebase,role=external,window=_blank],
or see link:user-upload.html#base[exception,role=external,window=_blank].
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.
Sometimes a change no longer makes sense to be destined for a specific
branch, and instead of trying to re-push the commit for a different
branch, it makes more sense to move the change to the preferred branch
(where it will now likely need a rebase). Moving the change instead of
pushing a rebased commit to the preferred branch helps to retain code
review comments and any previous patchsets on the original change.
== 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
Use target branch when determining new changes to open]
Part of link:error-messages.html[Gerrit Error Messages]