| :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 | |
| --------- |