Merge branch 'stable-2.15' into stable-2.16

* stable-2.15:
  project-configuration: Improve wording of 'Fast Forward Only'
  config-project-config: Add missing 'rebase always'
  project-configuration: Fix formatting in submit type section

Change-Id: I30e497a5996c13fcfd01e6cef76739e69ca9a226
This commit is contained in:
David Pursehouse 2019-07-16 14:25:48 +09:00
commit 8b159eb1a1
2 changed files with 6 additions and 5 deletions

View File

@ -252,7 +252,7 @@ are 'true', 'false', or 'INHERIT'. Default is 'INHERIT'.
- 'action': defines the link:project-configuration.html#submit_type[submit type]. Valid
values are 'fast forward only', 'merge if necessary', 'rebase if necessary',
'merge always' and 'cherry pick'. The default is 'merge if necessary'.
'rebase always', 'merge always' and 'cherry pick'. The default is 'merge if necessary'.
- 'matchAuthorToCommitterDate': Defines whether to the author date will be changed to match the
submitter date upon submit, so that git log shows when the change was submitted instead of when the

View File

@ -69,8 +69,9 @@ is equivalent to link:#merge_if_necessary[Merge If Necessary].
[[fast_forward_only]]
* Fast Forward Only
+
With this method no merge commits are produced. All merges must
be handled on the client, prior to uploading to Gerrit for review.
With this method Gerrit does not create merge commits on submitting a
change. Merge commits may still be submitted, but they must be created
on the client prior to uploading to Gerrit for review.
+
To submit a change, the change must be a strict superset of the
destination branch. That is, the change must already contain the
@ -120,7 +121,7 @@ If the change being submitted is a strict superset of the destination
branch, then the branch is fast-forwarded to the change. If not,
then the change is automatically rebased and then the branch is
fast-forwarded to the change.
+
When Gerrit tries to do a merge, by default the merge will only
succeed if there is no path conflict. A path conflict occurs when
the same file has also been changed on the other side of the merge.
@ -132,7 +133,7 @@ Basically, the same as Rebase If Necessary, but it creates a new patchset even
if fast forward is possible AND like Cherry Pick it ensures footers such as
Change-Id, Reviewed-On, and others are present in resulting commit that is
merged.
+
Thus, Rebase Always can be considered similar to Cherry Pick, but with
the important distinction that Rebase Always does not ignore dependencies.