[PATCH 3 of 4] help: revise explanation about capability check while selecting merge tool
FUJIWARA Katsunori
foozy at lares.dti.ne.jp
Fri Aug 24 14:20:44 EDT 2018
# HG changeset patch
# User FUJIWARA Katsunori <foozy at lares.dti.ne.jp>
# Date 1534915379 -32400
# Wed Aug 22 14:22:59 2018 +0900
# Node ID 9550ea4f1d737a7f3d79fbf2e1aa173497f75d4b
# Parent 222400828ff78e0a44cdf20a57cba679304ca913
# Available At https://bitbucket.org/foozy/mercurial-wip
# hg pull https://bitbucket.org/foozy/mercurial-wip -r 9550ea4f1d73
# EXP-Topic filemerge-followup
help: revise explanation about capability check while selecting merge tool
This is follow up of 7c6044634957 and cded904f7acc.
This patch adds explanations about:
- notation in capability columns in the table
- how capabilities of external merge tools are treated
diff --git a/mercurial/help/merge-tools.txt b/mercurial/help/merge-tools.txt
--- a/mercurial/help/merge-tools.txt
+++ b/mercurial/help/merge-tools.txt
@@ -72,22 +72,29 @@ 7. If the file to be merged is not binar
8. Otherwise, ``:prompt`` is used.
-For historical reason, Mercurial assumes capabilities of internal
-merge tools as below while examining rules above, regardless of actual
-capabilities of them.
+For historical reason, Mercurial treats merge tools as below while
+examining rules above.
==== =============== ====== =======
step specified via binary symlink
==== =============== ====== =======
-1. --tool o o
-2. HGMERGE o o
-3. merge-patterns o (*) x (*)
-4. ui.merge x (*) x (*)
+1. --tool o/o o/o
+2. HGMERGE o/o o/o
+3. merge-patterns o/o(*) x/?(*)
+4. ui.merge x/?(*) x/?(*)
==== =============== ====== =======
+Each capability columns indicates Mercurial behavior for
+internal/external merge tools at examining each rules.
+
+- "o": "assume that a tool has capability"
+- "x": "assume that a tool does not have capability"
+- "?": "check actual capability of a tool"
+
If ``merge.strict-capability-check`` configuration is true, Mercurial
-checks capabilities of internal merge tools strictly in (*) cases
-above. It is false by default for backward compatibility.
+checks capabilities of merge tools strictly in (*) cases above (= each
+capability columns becomes "?/?"). It is false by default for backward
+compatibility.
.. note::
diff --git a/tests/test-help.t b/tests/test-help.t
--- a/tests/test-help.t
+++ b/tests/test-help.t
@@ -1918,20 +1918,26 @@ Test dynamic list of merge tools only sh
internal ":merge" is used.
8. Otherwise, ":prompt" is used.
- For historical reason, Mercurial assumes capabilities of internal merge
- tools as below while examining rules above, regardless of actual
- capabilities of them.
+ For historical reason, Mercurial treats merge tools as below while
+ examining rules above.
step specified via binary symlink
----------------------------------
- 1. --tool o o
- 2. HGMERGE o o
- 3. merge-patterns o (*) x (*)
- 4. ui.merge x (*) x (*)
+ 1. --tool o/o o/o
+ 2. HGMERGE o/o o/o
+ 3. merge-patterns o/o(*) x/?(*)
+ 4. ui.merge x/?(*) x/?(*)
+
+ Each capability columns indicates Mercurial behavior for internal/external
+ merge tools at examining each rules.
+
+ - "o": "assume that a tool has capability"
+ - "x": "assume that a tool does not have capability"
+ - "?": "check actual capability of a tool"
If "merge.strict-capability-check" configuration is true, Mercurial checks
- capabilities of internal merge tools strictly in (*) cases above. It is
- false by default for backward compatibility.
+ capabilities of merge tools strictly in (*) cases above (= each capability
+ columns becomes "?/?"). It is false by default for backward compatibility.
Note:
After selecting a merge program, Mercurial will by default attempt to
More information about the Mercurial-devel
mailing list