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
|
Defaults to MERGE_IF_NECESSARY unless
|
||||||
link:config-gerrit.html#repository.name.defaultSubmitType[
|
link:config-gerrit.html#repository.name.defaultSubmitType[
|
||||||
repository.<name>.defaultSubmitType] is set to a different value.
|
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].
|
Submit Types].
|
||||||
|
|
||||||
--use-content-merge::
|
--use-content-merge::
|
||||||
|
@ -59,7 +59,7 @@ Description values containing spaces should be quoted in single quotes
|
|||||||
|
|
||||||
+
|
+
|
||||||
For more details see
|
For more details see
|
||||||
link:project-configuration.html#submit_type[Submit Types].
|
link:config-project-config.html#submit-type[Submit Types].
|
||||||
|
|
||||||
--content-merge::
|
--content-merge::
|
||||||
If enabled, Gerrit will try to perform a 3-way merge of text
|
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`,
|
are `INHERIT`, `MERGE_IF_NECESSARY`, `FAST_FORWARD_ONLY`, `REBASE_IF_NECESSARY`,
|
||||||
`REBASE_ALWAYS`, `MERGE_ALWAYS` and `CHERRY_PICK`.
|
`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
|
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
|
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
|
- 'mergeContent': Defines whether to automatically merge changes. Valid values
|
||||||
are 'true', 'false', or 'INHERIT'. Default is 'INHERIT'.
|
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',
|
values are 'fast forward only', 'merge if necessary', 'rebase if necessary',
|
||||||
'merge always' and 'cherry pick'. The default is 'merge 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
|
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
|
addition you can benefit from Gerrit's merge strategies that can
|
||||||
automatically merge/rebase commits on server side if necessary. You can
|
automatically merge/rebase commits on server side if necessary. You can
|
||||||
control the merge strategy by configuring the
|
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
|
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
|
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
|
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
|
An important decision for a project is the choice of the submit type
|
||||||
and the content merge setting (see the `Allow content merges` option).
|
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
|
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
|
what Gerrit should do on submit of a change if the destination branch
|
||||||
has moved while the change was in review. The
|
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.
|
types for different branches.
|
||||||
|
|
||||||
Please note that there are other submit types available; they are
|
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.
|
section.
|
||||||
|
|
||||||
[[labels]]
|
[[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
|
How the code modification is applied to the target branch when a change
|
||||||
is submitted is controlled by the
|
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].
|
link:intro-project-owner.html#submit-type[configured on project-level].
|
||||||
|
|
||||||
Submitting a change may fail with conflicts. In this case you need to
|
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]]
|
||||||
=== Submit Type
|
=== Submit Type
|
||||||
|
|
||||||
The method Gerrit uses to submit a change to a project can be
|
See details at link:config-project-config.html#submit-type[submit type].
|
||||||
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.
|
|
||||||
|
|
||||||
[[project-state]]
|
[[project-state]]
|
||||||
=== State
|
=== State
|
||||||
|
@ -5760,7 +5760,7 @@ change. The labels are lexicographically sorted.
|
|||||||
Whether the change was reviewed by the calling user.
|
Whether the change was reviewed by the calling user.
|
||||||
Only set if link:#reviewed[reviewed] is requested.
|
Only set if link:#reviewed[reviewed] is requested.
|
||||||
|`submit_type` |optional|
|
|`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.
|
Not set for merged changes.
|
||||||
|`mergeable` |optional|
|
|`mergeable` |optional|
|
||||||
Whether the change is mergeable. +
|
Whether the change is mergeable. +
|
||||||
|
@ -3626,7 +3626,7 @@ statistics of a Git repository.
|
|||||||
|
|
||||||
[[submit-type-info]]
|
[[submit-type-info]]
|
||||||
=== SubmitTypeInfo
|
=== 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.
|
type of a project], taking into account project inheritance.
|
||||||
|
|
||||||
Valid values for each field are `MERGE_IF_NECESSARY`, `FAST_FORWARD_ONLY`,
|
Valid values for each field are `MERGE_IF_NECESSARY`, `FAST_FORWARD_ONLY`,
|
||||||
|
Loading…
Reference in New Issue
Block a user