##// END OF EJS Templates
filemerge: add configs to disable some or all partial merge tools...
Martin von Zweigbergk -
r50060:7af798e4 default
parent child Browse files
Show More
@@ -1570,6 +1570,12 b' coreconfigitem('
1570 default=False,
1570 default=False,
1571 )
1571 )
1572 coreconfigitem(
1572 coreconfigitem(
1573 b'merge',
1574 b'disable-partial-tools',
1575 default=False,
1576 experimental=True,
1577 )
1578 coreconfigitem(
1573 b'partial-merge-tools',
1579 b'partial-merge-tools',
1574 b'.*',
1580 b'.*',
1575 default=None,
1581 default=None,
@@ -1609,6 +1615,14 b' coreconfigitem('
1609 experimental=True,
1615 experimental=True,
1610 )
1616 )
1611 coreconfigitem(
1617 coreconfigitem(
1618 b'partial-merge-tools',
1619 br'.*\.disable',
1620 default=False,
1621 generic=True,
1622 priority=-1,
1623 experimental=True,
1624 )
1625 coreconfigitem(
1612 b'merge-tools',
1626 b'merge-tools',
1613 b'.*',
1627 b'.*',
1614 default=None,
1628 default=None,
@@ -1119,6 +1119,8 b' def filemerge(repo, wctx, mynode, orig, '
1119 def _run_partial_resolution_tools(repo, local, other, base):
1119 def _run_partial_resolution_tools(repo, local, other, base):
1120 """Runs partial-resolution tools on the three inputs and updates them."""
1120 """Runs partial-resolution tools on the three inputs and updates them."""
1121 ui = repo.ui
1121 ui = repo.ui
1122 if ui.configbool(b'merge', b'disable-partial-tools'):
1123 return
1122 # Tuples of (order, name, executable path, args)
1124 # Tuples of (order, name, executable path, args)
1123 tools = []
1125 tools = []
1124 seen = set()
1126 seen = set()
@@ -1133,6 +1135,8 b' def _run_partial_resolution_tools(repo, '
1133 m = match.match(repo.root, b'', patterns)
1135 m = match.match(repo.root, b'', patterns)
1134 is_match = m(local.fctx.path())
1136 is_match = m(local.fctx.path())
1135 if is_match:
1137 if is_match:
1138 if ui.configbool(section, b'%s.disable' % name):
1139 continue
1136 order = ui.configint(section, b'%s.order' % name, 0)
1140 order = ui.configint(section, b'%s.order' % name, 0)
1137 executable = ui.config(section, b'%s.executable' % name, name)
1141 executable = ui.config(section, b'%s.executable' % name, name)
1138 args = ui.config(section, b'%s.args' % name)
1142 args = ui.config(section, b'%s.args' % name)
@@ -120,6 +120,57 b' be recorded and the regular merge tool s'
120 e
120 e
121
121
122
122
123 Can disable all partial merge tools (the `head` tool would have resolved this
124 conflict it had been enabled)
125
126 $ hg up -C 4
127 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
128 $ hg merge 3 -t :merge3 --config merge.disable-partial-tools=yes
129 merging file
130 warning: conflicts while merging file! (edit, then use 'hg resolve --mark')
131 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
132 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
133 [1]
134 $ cat file
135 a
136 b
137 c
138 d
139 e
140 <<<<<<< working copy: d57edaa6e21a - test: a b c d e f3
141 f3
142 ||||||| common ancestor: 8ae8bb9cc43a - test: a b c d e f
143 f
144 =======
145 f2
146 >>>>>>> merge rev: 8c217da987be - test: a b c d e f2
147
148
149 Can disable one partial merge tool (the `head` tool would have resolved this
150 conflict it had been enabled)
151
152 $ hg up -C 4
153 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
154 $ hg merge 3 -t :merge3 --config partial-merge-tools.head.disable=yes
155 merging file
156 warning: conflicts while merging file! (edit, then use 'hg resolve --mark')
157 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
158 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
159 [1]
160 $ cat file
161 b
162 c
163 d
164 e
165 <<<<<<< working copy: d57edaa6e21a - test: a b c d e f3
166 f3
167 ||||||| common ancestor: 8ae8bb9cc43a - test: a b c d e f
168 f
169 =======
170 f2
171 >>>>>>> merge rev: 8c217da987be - test: a b c d e f2
172
173
123 Only tools whose patterns match are run. We make `head` not match here, so
174 Only tools whose patterns match are run. We make `head` not match here, so
124 only `tail` should run
175 only `tail` should run
125
176
General Comments 0
You need to be logged in to leave comments. Login now