Mercurial > hg
comparison mercurial/help/merge-tools.txt @ 39125:cded904f7acc
filemerge: add config knob to check capabilities of internal merge tools
For historical reason, Mercurial assumes capabilities of internal
merge tools as below while examining rules to decide merge tool,
regardless of actual capabilities of them.
=============== ====== ========
specified via binary symlinks
=============== ====== ========
--tool o o
HGMERGE o o
merge-patterns o (*) x (*)
ui.merge x (*) x (*)
=============== ====== ========
This causes:
- unintentional internal merge tool is chosen for binary files via
merge-patterns section of configuration file
- explicit configuration of internal merge tool for symlinks is
ignored unintentionally
But on the other hand, simple "check capability strictly" might break
backward compatibility (e.g. existing merge automations), because it
changes the result of merge tool selection.
Therefore, this patch adds config knob "merge.strict-capability-check"
to control whether capabilities of internal merge tools should be
checked strictly or not.
If this configuration is true, capabilities of internal merge tools
are checked strictly in (*) cases above.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Wed, 15 Aug 2018 22:24:50 +0900 |
parents | 7c6044634957 |
children | e09fad982ef5 |
comparison
equal
deleted
inserted
replaced
39124:6618634e3325 | 39125:cded904f7acc |
---|---|
78 ==== =============== ====== ======= | 78 ==== =============== ====== ======= |
79 step specified via binary symlink | 79 step specified via binary symlink |
80 ==== =============== ====== ======= | 80 ==== =============== ====== ======= |
81 1. --tool o o | 81 1. --tool o o |
82 2. HGMERGE o o | 82 2. HGMERGE o o |
83 3. merge-patterns o x | 83 3. merge-patterns o (*) x (*) |
84 4. ui.merge x x | 84 4. ui.merge x (*) x (*) |
85 ==== =============== ====== ======= | 85 ==== =============== ====== ======= |
86 | |
87 If ``merge.strict-capability-check`` configuration is true, Mercurial | |
88 checks capabilities of internal merge tools strictly in (*) cases | |
89 above. It is false by default for backward compatibility. | |
86 | 90 |
87 .. note:: | 91 .. note:: |
88 | 92 |
89 After selecting a merge program, Mercurial will by default attempt | 93 After selecting a merge program, Mercurial will by default attempt |
90 to merge the files using a simple merge algorithm first. Only if it doesn't | 94 to merge the files using a simple merge algorithm first. Only if it doesn't |