diff mercurial/filemerge.py @ 39293:82555d7186d0

filemerge: make capability check for internal tools ignore merge-tools section This is follow up of 4d7b11877dd0. Before this patch, capability check of internal merge tools falls back to _toolbool(), which examines configurations in "merge-tools" section. But "hg help config" explicitly says that "merge-tools" section configures external merge tools. Therefore, this patch makes capability check for internal tools in hascapability() always ignore configurations in merge-tools section. In this patch, command line configurations below are added at tests in tests/test-merge-tools.t, in order to confirm that explicit configuration is intentionally ignored at tool selection. --config merge-tools.:INTERNAL_TOOL.CAPABILITY=true
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Wed, 22 Aug 2018 13:57:01 +0900
parents e09fad982ef5
children 88c5a3ef54b1
line wrap: on
line diff
--- a/mercurial/filemerge.py	Fri Aug 24 22:21:04 2018 -0700
+++ b/mercurial/filemerge.py	Wed Aug 22 13:57:01 2018 +0900
@@ -140,9 +140,8 @@
     strictcheck = ui.configbool('merge', 'strict-capability-check')
 
     def hascapability(tool, capability, strict=False):
-        if strict and tool in internals:
-            if internals[tool].capabilities.get(capability):
-                return True
+        if tool in internals:
+            return strict and internals[tool].capabilities.get(capability)
         return _toolbool(ui, tool, capability)
 
     def supportscd(tool):