# HG changeset patch # User FUJIWARA Katsunori # Date 1534915379 -32400 # Node ID 0dfcc348d38342879581badab8afbfab815310c4 # Parent 88c5a3ef54b14c65b744290d1c4a57d765f6ddad 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 -r 88c5a3ef54b1 -r 0dfcc348d383 mercurial/help/merge-tools.txt --- a/mercurial/help/merge-tools.txt Wed Aug 22 14:08:27 2018 +0900 +++ b/mercurial/help/merge-tools.txt Wed Aug 22 14:22:59 2018 +0900 @@ -72,22 +72,29 @@ 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 column indicates Mercurial behavior for +internal/external merge tools at examining each rule. + +- "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 column becomes "?/?"). It is false by default for backward +compatibility. .. note:: diff -r 88c5a3ef54b1 -r 0dfcc348d383 tests/test-help.t --- a/tests/test-help.t Wed Aug 22 14:08:27 2018 +0900 +++ b/tests/test-help.t Wed Aug 22 14:22:59 2018 +0900 @@ -1918,20 +1918,26 @@ 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 column indicates Mercurial behavior for internal/external + merge tools at examining each rule. + + - "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 + column becomes "?/?"). It is false by default for backward compatibility. Note: After selecting a merge program, Mercurial will by default attempt to