| :linkattrs: |
| = 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 |
| link:user-upload.html#base[exception]. |
| |
| 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,role=external,window=_blank] |
| it or doing an interactive |
| link:http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html[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 |
| 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 |
| --------- |