61698b14e0
We previous use the section title style like: Section level 1 =============== Section level 2 --------------- Which have a problem in Asciidoctor that the number of "="s or "-"s must match the number of characters in the header exactly, as a result it's easy to make mistakes while changing the titles. Asciidoctor provides a better style like: = Section level 1 == Section level 2 So we switched to this style. Also fixed a bug in replace_macros.py, which will not cause any problem in the old style. Change-Id: I811dd7238735d98f662767c17086152cd69aea02
60 lines
2.4 KiB
Plaintext
60 lines
2.4 KiB
Plaintext
= non-fast forward
|
|
|
|
With this error message Gerrit rejects a push if the remote branch can't
|
|
be fast forwarded onto the pushed commit. This is the case if the
|
|
pushed commit is not based on the current tip of the remote branch.
|
|
|
|
If a non-fast forward update would be done, all commits from the
|
|
remote branch that succeed the base commit of the pushed commit would
|
|
be removed. This would be especially confusing for other users that
|
|
have based their work on such a commit. Because of this Git by
|
|
default does not allow non-fast forward updates.
|
|
|
|
When working with Gerrit, this error can only occur if
|
|
link:user-upload.html#bypass_review[code review is bypassed].
|
|
|
|
There are different reasons why this error can occur:
|
|
|
|
. the remote branch has evolved since you started your development
|
|
. you are pushing the commit to the wrong project
|
|
|
|
|
|
== the remote branch has evolved since you started your development
|
|
|
|
You start your development based on the current tip of the remote
|
|
branch. While you implement your feature / bug-fix, a change in Gerrit
|
|
gets submitted (or another user directly pushes a commit) so that the
|
|
remote branch evolves. If you are now pushing your commit, with
|
|
bypassing code review, your push will be rejected with the error
|
|
message 'non-fast forward'. To solve the problem you have to either
|
|
|
|
. link:http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html[rebase] your commit on the new tip of the remote branch or
|
|
. link:http://www.kernel.org/pub/software/scm/git/docs/git-merge.html[merge] your commit with the new tip of the remote branch.
|
|
|
|
Afterwards the push should be successful.
|
|
|
|
|
|
== you are pushing the commit to the wrong project
|
|
|
|
If you do a commit in one project and then accidentally push this
|
|
commit, with bypassing code review, to another project, this will fail
|
|
with the error message 'non-fast forward'. To fix the problem you
|
|
should check the push specification and verify that you are pushing
|
|
the commit to the correct project.
|
|
|
|
|
|
Although it is considered bad practice, it is possible to allow
|
|
non-fast forward updates with Git. For this the remote Git repository
|
|
has to be configured to not deny non-fast forward updates (set the
|
|
link:http://www.kernel.org/pub/software/scm/git/docs/git-config.html[Git configuration] parameter 'receive.denyNonFastForwards' to
|
|
'false'). Then it is possible to push a non-fast forward update by
|
|
using the '--force' option.
|
|
|
|
|
|
GERRIT
|
|
------
|
|
Part of link:error-messages.html[Gerrit Error Messages]
|
|
|
|
SEARCHBOX
|
|
---------
|