Move docs about "submit type" to "config-project-config.txt"
Change-Id: If65e60628ac69803798c056e86e8815ede6a7f43
This commit is contained in:
parent
5ecb6422b6
commit
2188598a18
@ -118,7 +118,7 @@ Description values containing spaces should be quoted in single quotes
|
||||
Defaults to MERGE_IF_NECESSARY unless
|
||||
link:config-gerrit.html#repository.name.defaultSubmitType[
|
||||
repository.<name>.defaultSubmitType] is set to a different value.
|
||||
For more details see link:project-configuration.html#submit_type[
|
||||
For more details see link:config-project-config.html#submit-type[
|
||||
Submit Types].
|
||||
|
||||
--use-content-merge::
|
||||
|
@ -59,7 +59,7 @@ Description values containing spaces should be quoted in single quotes
|
||||
|
||||
+
|
||||
For more details see
|
||||
link:project-configuration.html#submit_type[Submit Types].
|
||||
link:config-project-config.html#submit-type[Submit Types].
|
||||
|
||||
--content-merge::
|
||||
If enabled, Gerrit will try to perform a 3-way merge of text
|
||||
|
@ -3671,9 +3671,9 @@ The default submit type for newly created projects. Supported values
|
||||
are `INHERIT`, `MERGE_IF_NECESSARY`, `FAST_FORWARD_ONLY`, `REBASE_IF_NECESSARY`,
|
||||
`REBASE_ALWAYS`, `MERGE_ALWAYS` and `CHERRY_PICK`.
|
||||
+
|
||||
For more details see link:project-configuration.html#submit_type[Submit Types].
|
||||
For more details see link:config-project-config.html#submit-type[Submit Types].
|
||||
+
|
||||
Default is link:project-configuration.html#submit_type_inherit[`INHERIT`].
|
||||
Default is link:config-project-config.html#submit_type_inherit[`INHERIT`].
|
||||
+
|
||||
This submit type is only applied at project creation time if a submit type is
|
||||
omitted from the link:rest-api-projects.html#project-input[ProjectInput]. If the
|
||||
|
@ -284,7 +284,7 @@ submit settings:
|
||||
- 'mergeContent': Defines whether to automatically merge changes. Valid values
|
||||
are 'true', 'false', or 'INHERIT'. Default is 'INHERIT'.
|
||||
|
||||
- 'action': defines the link:project-configuration.html#submit_type[submit type]. Valid
|
||||
- 'action': defines the #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'.
|
||||
|
||||
@ -444,3 +444,95 @@ Part of link:index.html[Gerrit Code Review]
|
||||
|
||||
SEARCHBOX
|
||||
---------
|
||||
|
||||
[[submit-type]]
|
||||
=== Submit Type
|
||||
|
||||
The method Gerrit uses to submit a change to a project can be
|
||||
modified by any project owner through the project console, `Projects` >
|
||||
`List` > my/project. In general, a submitted change is only merged if all
|
||||
its dependencies are also submitted, with exceptions documented below.
|
||||
The following submit types are supported:
|
||||
|
||||
[[submit_type_inherit]]
|
||||
* Inherit
|
||||
+
|
||||
This is the default for new projects, unless overridden by a global
|
||||
link:config-gerrit.html#repository.name.defaultSubmitType[`defaultSubmitType` option].
|
||||
+
|
||||
Inherit the submit type from the parent project. In `All-Projects`, this
|
||||
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.
|
||||
+
|
||||
To submit a change, the change must be a strict superset of the
|
||||
destination branch. That is, the change must already contain the
|
||||
tip of the destination branch at submit time.
|
||||
|
||||
[[merge_if_necessary]]
|
||||
* Merge If Necessary
|
||||
+
|
||||
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 a merge commit is automatically created. This is identical
|
||||
to the classical `git merge` behavior, or `git merge --ff`.
|
||||
|
||||
[[always_merge]]
|
||||
* Always Merge
|
||||
+
|
||||
Always produce a merge commit, even if the change is a strict
|
||||
superset of the destination branch. This is identical to the
|
||||
behavior of `git merge --no-ff`, and may be useful if the
|
||||
project needs to follow submits with `git log --first-parent`.
|
||||
|
||||
[[cherry_pick]]
|
||||
* Cherry Pick
|
||||
+
|
||||
Always cherry pick the patch set, ignoring the parent lineage
|
||||
and instead creating a brand new commit on top of the current
|
||||
branch head.
|
||||
+
|
||||
When cherry picking a change, Gerrit automatically appends onto the
|
||||
end of the commit message a short summary of the change's approvals,
|
||||
and a URL link back to the change on the web. The committer header
|
||||
is also set to the submitter, while the author header retains the
|
||||
original patch set author.
|
||||
+
|
||||
Note that Gerrit ignores dependencies between changes when using this
|
||||
submit type unless
|
||||
link:config-gerrit.html#change.submitWholeTopic[`change.submitWholeTopic`]
|
||||
is enabled and depending changes share the same topic. So generally
|
||||
submitters must remember to submit changes in the right order when using this
|
||||
submit type. If all you want is extra information in the commit message,
|
||||
consider using the Rebase Always submit strategy.
|
||||
|
||||
[[rebase_if_necessary]]
|
||||
* Rebase If Necessary
|
||||
+
|
||||
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.
|
||||
|
||||
[[rebase_always]]
|
||||
* Rebase Always
|
||||
+
|
||||
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.
|
||||
|
||||
[[content_merge]]
|
||||
If `Allow content merges` is enabled, Gerrit will try
|
||||
to do a content merge when a path conflict occurs.
|
||||
|
@ -209,7 +209,7 @@ verifications from a build server] before changes are merged. In
|
||||
addition you can benefit from Gerrit's merge strategies that can
|
||||
automatically merge/rebase commits on server side if necessary. You can
|
||||
control the merge strategy by configuring the
|
||||
link:project-configuration.html#submit_type[submit type] on the project. If you
|
||||
link:config-project-config.html#submit-type[submit type] on the project. If you
|
||||
bypass code review you always need to merge/rebase manually if the tip
|
||||
of the destination branch has moved. Please keep this in mind if you
|
||||
choose to not work with code review because you think it's easier to
|
||||
@ -239,7 +239,7 @@ To see the options of your project:
|
||||
|
||||
An important decision for a project is the choice of the submit type
|
||||
and the content merge setting (see the `Allow content merges` option).
|
||||
The link:project-configuration.html#submit_type[submit type] is the method
|
||||
The link:config-project-config.html#submit-type[submit type] is the method
|
||||
Gerrit uses to submit a change to the project. The submit type defines
|
||||
what Gerrit should do on submit of a change if the destination branch
|
||||
has moved while the change was in review. The
|
||||
@ -281,7 +281,7 @@ link:#prolog-submit-type[Prolog]. This way you can use different submit
|
||||
types for different branches.
|
||||
|
||||
Please note that there are other submit types available; they are
|
||||
described in the link:project-configuration.html#submit_type[Submit Type]
|
||||
described in the link:config-project-config.html#submit-type[Submit Type]
|
||||
section.
|
||||
|
||||
[[labels]]
|
||||
|
@ -383,7 +383,7 @@ rules] to control when a change becomes submittable.
|
||||
|
||||
How the code modification is applied to the target branch when a change
|
||||
is submitted is controlled by the
|
||||
link:project-configuration.html#submit_type[submit type] which can be
|
||||
link:config-project-config.html#submit-type[submit type] which can be
|
||||
link:intro-project-owner.html#submit-type[configured on project-level].
|
||||
|
||||
Submitting a change may fail with conflicts. In this case you need to
|
||||
|
@ -51,94 +51,7 @@ Either restart the server, or flush the `project_list` cache:
|
||||
[[submit_type]]
|
||||
=== Submit Type
|
||||
|
||||
The method Gerrit uses to submit a change to a project can be
|
||||
modified by any project owner through the project console, `Projects` >
|
||||
`List` > my/project. In general, a submitted change is only merged if all
|
||||
its dependencies are also submitted, with exceptions documented below.
|
||||
The following submit types are supported:
|
||||
|
||||
[[submit_type_inherit]]
|
||||
* Inherit
|
||||
+
|
||||
This is the default for new projects, unless overridden by a global
|
||||
link:config-gerrit.html#repository.name.defaultSubmitType[`defaultSubmitType` option].
|
||||
+
|
||||
Inherit the submit type from the parent project. In `All-Projects`, this
|
||||
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.
|
||||
+
|
||||
To submit a change, the change must be a strict superset of the
|
||||
destination branch. That is, the change must already contain the
|
||||
tip of the destination branch at submit time.
|
||||
|
||||
[[merge_if_necessary]]
|
||||
* Merge If Necessary
|
||||
+
|
||||
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 a merge commit is automatically created. This is identical
|
||||
to the classical `git merge` behavior, or `git merge --ff`.
|
||||
|
||||
[[always_merge]]
|
||||
* Always Merge
|
||||
+
|
||||
Always produce a merge commit, even if the change is a strict
|
||||
superset of the destination branch. This is identical to the
|
||||
behavior of `git merge --no-ff`, and may be useful if the
|
||||
project needs to follow submits with `git log --first-parent`.
|
||||
|
||||
[[cherry_pick]]
|
||||
* Cherry Pick
|
||||
+
|
||||
Always cherry pick the patch set, ignoring the parent lineage
|
||||
and instead creating a brand new commit on top of the current
|
||||
branch head.
|
||||
+
|
||||
When cherry picking a change, Gerrit automatically appends onto the
|
||||
end of the commit message a short summary of the change's approvals,
|
||||
and a URL link back to the change on the web. The committer header
|
||||
is also set to the submitter, while the author header retains the
|
||||
original patch set author.
|
||||
+
|
||||
Note that Gerrit ignores dependencies between changes when using this
|
||||
submit type unless
|
||||
link:config-gerrit.html#change.submitWholeTopic[`change.submitWholeTopic`]
|
||||
is enabled and depending changes share the same topic. So generally
|
||||
submitters must remember to submit changes in the right order when using this
|
||||
submit type. If all you want is extra information in the commit message,
|
||||
consider using the Rebase Always submit strategy.
|
||||
|
||||
[[rebase_if_necessary]]
|
||||
* Rebase If Necessary
|
||||
+
|
||||
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.
|
||||
|
||||
[[rebase_always]]
|
||||
* Rebase Always
|
||||
+
|
||||
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.
|
||||
|
||||
[[content_merge]]
|
||||
If `Allow content merges` is enabled, Gerrit will try
|
||||
to do a content merge when a path conflict occurs.
|
||||
See details at link:config-project-config.html#submit-type[submit type].
|
||||
|
||||
[[project-state]]
|
||||
=== State
|
||||
|
@ -5760,7 +5760,7 @@ change. The labels are lexicographically sorted.
|
||||
Whether the change was reviewed by the calling user.
|
||||
Only set if link:#reviewed[reviewed] is requested.
|
||||
|`submit_type` |optional|
|
||||
The link:project-configuration.html#submit_type[submit type] of the change. +
|
||||
The link:config-project-config.html#submit-type[submit type] of the change. +
|
||||
Not set for merged changes.
|
||||
|`mergeable` |optional|
|
||||
Whether the change is mergeable. +
|
||||
|
@ -3626,7 +3626,7 @@ statistics of a Git repository.
|
||||
|
||||
[[submit-type-info]]
|
||||
=== SubmitTypeInfo
|
||||
Information about the link:project-configuration.html#submit_type[default submit
|
||||
Information about the link:config-project-config.html#submit-type[default submit
|
||||
type of a project], taking into account project inheritance.
|
||||
|
||||
Valid values for each field are `MERGE_IF_NECESSARY`, `FAST_FORWARD_ONLY`,
|
||||
|
Loading…
Reference in New Issue
Block a user