mercurial/filemerge.py
changeset 22031 b36c60cfe46f
parent 22028 3d0572ab3b4a
child 22032 d7f25834ffbb
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! "