comparison mercurial/filemerge.py @ 22032:d7f25834ffbb

merge-tools: add a `premerge=keep-merge3` config option This value leaves premerge markers that includes the merge base too. This is a the same as what `internal:merge3` would do.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Mon, 04 Aug 2014 16:32:41 -0700
parents b36c60cfe46f
children ad25986c4cd3
comparison
equal deleted inserted replaced
22031:b36c60cfe46f 22032:d7f25834ffbb
176 return 1 176 return 1
177 a, b, c, back = files 177 a, b, c, back = files
178 178
179 ui = repo.ui 179 ui = repo.ui
180 180
181 validkeep = ['keep'] 181 validkeep = ['keep', 'keep-merge3']
182 182
183 # do we attempt to simplemerge first? 183 # do we attempt to simplemerge first?
184 try: 184 try:
185 premerge = _toolbool(ui, tool, "premerge", not binary) 185 premerge = _toolbool(ui, tool, "premerge", not binary)
186 except error.ConfigError: 186 except error.ConfigError:
190 raise error.ConfigError(_("%s.premerge not valid " 190 raise error.ConfigError(_("%s.premerge not valid "
191 "('%s' is neither boolean nor %s)") % 191 "('%s' is neither boolean nor %s)") %
192 (tool, premerge, _valid)) 192 (tool, premerge, _valid))
193 193
194 if premerge: 194 if premerge:
195 if premerge == 'keep-merge3':
196 if not labels:
197 labels = _defaultconflictlabels
198 if len(labels) < 3:
199 labels.append('base')
195 r = simplemerge.simplemerge(ui, a, b, c, quiet=True, label=labels) 200 r = simplemerge.simplemerge(ui, a, b, c, quiet=True, label=labels)
196 if not r: 201 if not r:
197 ui.debug(" premerge successful\n") 202 ui.debug(" premerge successful\n")
198 return 0 203 return 0
199 if premerge not in validkeep: 204 if premerge not in validkeep: