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