doc: convert merge strategies to synopsis format
- Switch the synopsis to a synopsis block which will automatically format placeholders in italics and keywords in monospace - Use _<placeholder>_ instead of <placeholder> in the description - Use `backticks` for keywords and more complex option descriptions. The new rendering engine will apply synopsis rules to these spans. Signed-off-by: Jean-Noël Avila <jn.avila@free.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
cbbb3b2d38
commit
179f877b88
@@ -6,7 +6,7 @@ backend 'merge strategies' to be chosen with `-s` option. Some strategies
|
|||||||
can also take their own options, which can be passed by giving `-X<option>`
|
can also take their own options, which can be passed by giving `-X<option>`
|
||||||
arguments to `git merge` and/or `git pull`.
|
arguments to `git merge` and/or `git pull`.
|
||||||
|
|
||||||
ort::
|
`ort`::
|
||||||
This is the default merge strategy when pulling or merging one
|
This is the default merge strategy when pulling or merging one
|
||||||
branch. This strategy can only resolve two heads using a
|
branch. This strategy can only resolve two heads using a
|
||||||
3-way merge algorithm. When there is more than one common
|
3-way merge algorithm. When there is more than one common
|
||||||
@@ -29,26 +29,26 @@ descendant. Otherwise, Git will treat this case as a conflict, suggesting
|
|||||||
as a resolution a submodule commit that is descendant of the conflicting
|
as a resolution a submodule commit that is descendant of the conflicting
|
||||||
ones, if one exists.
|
ones, if one exists.
|
||||||
+
|
+
|
||||||
The 'ort' strategy can take the following options:
|
The `ort` strategy can take the following options:
|
||||||
|
|
||||||
ours;;
|
`ours`;;
|
||||||
This option forces conflicting hunks to be auto-resolved cleanly by
|
This option forces conflicting hunks to be auto-resolved cleanly by
|
||||||
favoring 'our' version. Changes from the other tree that do not
|
favoring 'our' version. Changes from the other tree that do not
|
||||||
conflict with our side are reflected in the merge result.
|
conflict with our side are reflected in the merge result.
|
||||||
For a binary file, the entire contents are taken from our side.
|
For a binary file, the entire contents are taken from our side.
|
||||||
+
|
+
|
||||||
This should not be confused with the 'ours' merge strategy, which does not
|
This should not be confused with the `ours` merge strategy, which does not
|
||||||
even look at what the other tree contains at all. It discards everything
|
even look at what the other tree contains at all. It discards everything
|
||||||
the other tree did, declaring 'our' history contains all that happened in it.
|
the other tree did, declaring 'our' history contains all that happened in it.
|
||||||
|
|
||||||
theirs;;
|
`theirs`;;
|
||||||
This is the opposite of 'ours'; note that, unlike 'ours', there is
|
This is the opposite of `ours`; note that, unlike `ours`, there is
|
||||||
no 'theirs' merge strategy to confuse this merge option with.
|
no `theirs` merge strategy to confuse this merge option with.
|
||||||
|
|
||||||
ignore-space-change;;
|
`ignore-space-change`;;
|
||||||
ignore-all-space;;
|
`ignore-all-space`;;
|
||||||
ignore-space-at-eol;;
|
`ignore-space-at-eol`;;
|
||||||
ignore-cr-at-eol;;
|
`ignore-cr-at-eol`;;
|
||||||
Treats lines with the indicated type of whitespace change as
|
Treats lines with the indicated type of whitespace change as
|
||||||
unchanged for the sake of a three-way merge. Whitespace
|
unchanged for the sake of a three-way merge. Whitespace
|
||||||
changes mixed with other changes to a line are not ignored.
|
changes mixed with other changes to a line are not ignored.
|
||||||
@@ -61,7 +61,7 @@ ignore-cr-at-eol;;
|
|||||||
version includes a substantial change, 'their' version is used;
|
version includes a substantial change, 'their' version is used;
|
||||||
* Otherwise, the merge proceeds in the usual way.
|
* Otherwise, the merge proceeds in the usual way.
|
||||||
|
|
||||||
renormalize;;
|
`renormalize`;;
|
||||||
This runs a virtual check-out and check-in of all three stages
|
This runs a virtual check-out and check-in of all three stages
|
||||||
of any file which needs a three-way merge. This option is
|
of any file which needs a three-way merge. This option is
|
||||||
meant to be used when merging branches with different clean
|
meant to be used when merging branches with different clean
|
||||||
@@ -69,31 +69,31 @@ renormalize;;
|
|||||||
branches with differing checkin/checkout attributes" in
|
branches with differing checkin/checkout attributes" in
|
||||||
linkgit:gitattributes[5] for details.
|
linkgit:gitattributes[5] for details.
|
||||||
|
|
||||||
no-renormalize;;
|
`no-renormalize`;;
|
||||||
Disables the `renormalize` option. This overrides the
|
Disables the `renormalize` option. This overrides the
|
||||||
`merge.renormalize` configuration variable.
|
`merge.renormalize` configuration variable.
|
||||||
|
|
||||||
find-renames[=<n>];;
|
`find-renames[=<n>]`;;
|
||||||
Turn on rename detection, optionally setting the similarity
|
Turn on rename detection, optionally setting the similarity
|
||||||
threshold. This is the default. This overrides the
|
threshold. This is the default. This overrides the
|
||||||
'merge.renames' configuration variable.
|
`merge.renames` configuration variable.
|
||||||
See also linkgit:git-diff[1] `--find-renames`.
|
See also linkgit:git-diff[1] `--find-renames`.
|
||||||
|
|
||||||
rename-threshold=<n>;;
|
`rename-threshold=<n>`;;
|
||||||
Deprecated synonym for `find-renames=<n>`.
|
Deprecated synonym for `find-renames=<n>`.
|
||||||
|
|
||||||
no-renames;;
|
`no-renames`;;
|
||||||
Turn off rename detection. This overrides the `merge.renames`
|
Turn off rename detection. This overrides the `merge.renames`
|
||||||
configuration variable.
|
configuration variable.
|
||||||
See also linkgit:git-diff[1] `--no-renames`.
|
See also linkgit:git-diff[1] `--no-renames`.
|
||||||
|
|
||||||
histogram;;
|
`histogram`;;
|
||||||
Deprecated synonym for `diff-algorithm=histogram`.
|
Deprecated synonym for `diff-algorithm=histogram`.
|
||||||
|
|
||||||
patience;;
|
`patience`;;
|
||||||
Deprecated synonym for `diff-algorithm=patience`.
|
Deprecated synonym for `diff-algorithm=patience`.
|
||||||
|
|
||||||
diff-algorithm=[histogram|minimal|myers|patience];;
|
`diff-algorithm=(histogram|minimal|myers|patience)`;;
|
||||||
Use a different diff algorithm while merging, which can help
|
Use a different diff algorithm while merging, which can help
|
||||||
avoid mismerges that occur due to unimportant matching lines
|
avoid mismerges that occur due to unimportant matching lines
|
||||||
(such as braces from distinct functions). See also
|
(such as braces from distinct functions). See also
|
||||||
@@ -101,49 +101,49 @@ diff-algorithm=[histogram|minimal|myers|patience];;
|
|||||||
defaults to `diff-algorithm=histogram`, while regular diffs
|
defaults to `diff-algorithm=histogram`, while regular diffs
|
||||||
currently default to the `diff.algorithm` config setting.
|
currently default to the `diff.algorithm` config setting.
|
||||||
|
|
||||||
subtree[=<path>];;
|
`subtree[=<path>]`;;
|
||||||
This option is a more advanced form of 'subtree' strategy, where
|
This option is a more advanced form of 'subtree' strategy, where
|
||||||
the strategy makes a guess on how two trees must be shifted to
|
the strategy makes a guess on how two trees must be shifted to
|
||||||
match with each other when merging. Instead, the specified path
|
match with each other when merging. Instead, the specified path
|
||||||
is prefixed (or stripped from the beginning) to make the shape of
|
is prefixed (or stripped from the beginning) to make the shape of
|
||||||
two trees to match.
|
two trees to match.
|
||||||
|
|
||||||
recursive::
|
`recursive`::
|
||||||
This is now a synonym for `ort`. It was an alternative
|
This is now a synonym for `ort`. It was an alternative
|
||||||
implementation until v2.49.0, but was redirected to mean `ort`
|
implementation until v2.49.0, but was redirected to mean `ort`
|
||||||
in v2.50.0. The previous recursive strategy was the default
|
in v2.50.0. The previous recursive strategy was the default
|
||||||
strategy for resolving two heads from Git v0.99.9k until
|
strategy for resolving two heads from Git v0.99.9k until
|
||||||
v2.33.0.
|
v2.33.0.
|
||||||
|
|
||||||
resolve::
|
`resolve`::
|
||||||
This can only resolve two heads (i.e. the current branch
|
This can only resolve two heads (i.e. the current branch
|
||||||
and another branch you pulled from) using a 3-way merge
|
and another branch you pulled from) using a 3-way merge
|
||||||
algorithm. It tries to carefully detect criss-cross
|
algorithm. It tries to carefully detect criss-cross
|
||||||
merge ambiguities. It does not handle renames.
|
merge ambiguities. It does not handle renames.
|
||||||
|
|
||||||
octopus::
|
`octopus`::
|
||||||
This resolves cases with more than two heads, but refuses to do
|
This resolves cases with more than two heads, but refuses to do
|
||||||
a complex merge that needs manual resolution. It is
|
a complex merge that needs manual resolution. It is
|
||||||
primarily meant to be used for bundling topic branch
|
primarily meant to be used for bundling topic branch
|
||||||
heads together. This is the default merge strategy when
|
heads together. This is the default merge strategy when
|
||||||
pulling or merging more than one branch.
|
pulling or merging more than one branch.
|
||||||
|
|
||||||
ours::
|
`ours`::
|
||||||
This resolves any number of heads, but the resulting tree of the
|
This resolves any number of heads, but the resulting tree of the
|
||||||
merge is always that of the current branch head, effectively
|
merge is always that of the current branch head, effectively
|
||||||
ignoring all changes from all other branches. It is meant to
|
ignoring all changes from all other branches. It is meant to
|
||||||
be used to supersede old development history of side
|
be used to supersede old development history of side
|
||||||
branches. Note that this is different from the -Xours option to
|
branches. Note that this is different from the `-Xours` option to
|
||||||
the 'ort' merge strategy.
|
the `ort` merge strategy.
|
||||||
|
|
||||||
subtree::
|
`subtree`::
|
||||||
This is a modified `ort` strategy. When merging trees A and
|
This is a modified `ort` strategy. When merging trees A and
|
||||||
B, if B corresponds to a subtree of A, B is first adjusted to
|
B, if B corresponds to a subtree of A, B is first adjusted to
|
||||||
match the tree structure of A, instead of reading the trees at
|
match the tree structure of A, instead of reading the trees at
|
||||||
the same level. This adjustment is also done to the common
|
the same level. This adjustment is also done to the common
|
||||||
ancestor tree.
|
ancestor tree.
|
||||||
|
|
||||||
With the strategies that use 3-way merge (including the default, 'ort'),
|
With the strategies that use 3-way merge (including the default, `ort`),
|
||||||
if a change is made on both branches, but later reverted on one of the
|
if a change is made on both branches, but later reverted on one of the
|
||||||
branches, that change will be present in the merged result; some people find
|
branches, that change will be present in the merged result; some people find
|
||||||
this behavior confusing. It occurs because only the heads and the merge base
|
this behavior confusing. It occurs because only the heads and the merge base
|
||||||
|
|||||||
Reference in New Issue
Block a user