comparison mercurial/filemerge.py @ 22031:b36c60cfe46f

merge-tools: make premerge valid values extensible We want to introduce a version leaving merge3 style markers.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Mon, 04 Aug 2014 16:58:39 -0700
parents 3d0572ab3b4a
children d7f25834ffbb
comparison
equal deleted inserted replaced
22030:ecdff28d13e2 22031:b36c60cfe46f
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']
182
181 # do we attempt to simplemerge first? 183 # do we attempt to simplemerge first?
182 try: 184 try:
183 premerge = _toolbool(ui, tool, "premerge", not binary) 185 premerge = _toolbool(ui, tool, "premerge", not binary)
184 except error.ConfigError: 186 except error.ConfigError:
185 premerge = _toolstr(ui, tool, "premerge").lower() 187 premerge = _toolstr(ui, tool, "premerge").lower()
186 valid = 'keep'.split() 188 if premerge not in validkeep:
187 if premerge not in valid: 189 _valid = ', '.join(["'" + v + "'" for v in validkeep])
188 _valid = ', '.join(["'" + v + "'" for v in valid])
189 raise error.ConfigError(_("%s.premerge not valid " 190 raise error.ConfigError(_("%s.premerge not valid "
190 "('%s' is neither boolean nor %s)") % 191 "('%s' is neither boolean nor %s)") %
191 (tool, premerge, _valid)) 192 (tool, premerge, _valid))
192 193
193 if premerge: 194 if premerge:
194 r = simplemerge.simplemerge(ui, a, b, c, quiet=True, label=labels) 195 r = simplemerge.simplemerge(ui, a, b, c, quiet=True, label=labels)
195 if not r: 196 if not r:
196 ui.debug(" premerge successful\n") 197 ui.debug(" premerge successful\n")
197 return 0 198 return 0
198 if premerge != 'keep': 199 if premerge not in validkeep:
199 util.copyfile(back, a) # restore from backup and try again 200 util.copyfile(back, a) # restore from backup and try again
200 return 1 # continue merging 201 return 1 # continue merging
201 202
202 @internaltool('merge', True, 203 @internaltool('merge', True,
203 _("merging %s incomplete! " 204 _("merging %s incomplete! "