mercurial/commands.py
changeset 26621 36383507a6f8
parent 26617 dfd9811c5c9b
child 26628 45b86dbabbda
equal deleted inserted replaced
26620:7955127efbcb 26621:36383507a6f8
  5566 
  5566 
  5567         m = scmutil.match(repo[None], pats, opts)
  5567         m = scmutil.match(repo[None], pats, opts)
  5568         ret = 0
  5568         ret = 0
  5569         didwork = False
  5569         didwork = False
  5570 
  5570 
       
  5571         tocomplete = []
  5571         for f in ms:
  5572         for f in ms:
  5572             if not m(f):
  5573             if not m(f):
  5573                 continue
  5574                 continue
  5574 
  5575 
  5575             didwork = True
  5576             didwork = True
  5584                 # backup pre-resolve (merge uses .orig for its own purposes)
  5585                 # backup pre-resolve (merge uses .orig for its own purposes)
  5585                 a = repo.wjoin(f)
  5586                 a = repo.wjoin(f)
  5586                 util.copyfile(a, a + ".resolve")
  5587                 util.copyfile(a, a + ".resolve")
  5587 
  5588 
  5588                 try:
  5589                 try:
  5589                     # resolve file
  5590                     # preresolve file
  5590                     ui.setconfig('ui', 'forcemerge', opts.get('tool', ''),
  5591                     ui.setconfig('ui', 'forcemerge', opts.get('tool', ''),
  5591                                  'resolve')
  5592                                  'resolve')
  5592                     complete, r = ms.preresolve(f, wctx)
  5593                     complete, r = ms.preresolve(f, wctx)
  5593                     if not complete:
  5594                     if not complete:
  5594                         r = ms.resolve(f, wctx)
  5595                         tocomplete.append(f)
  5595                     if r:
  5596                     elif r:
  5596                         ret = 1
  5597                         ret = 1
  5597                 finally:
  5598                 finally:
  5598                     ui.setconfig('ui', 'forcemerge', '', 'resolve')
  5599                     ui.setconfig('ui', 'forcemerge', '', 'resolve')
  5599                     ms.commit()
  5600                     ms.commit()
  5600 
  5601 
  5601                 # replace filemerge's .orig file with our resolve file
  5602                 # replace filemerge's .orig file with our resolve file
       
  5603                 # for files in tocomplete, ms.resolve will not overwrite
       
  5604                 # .orig -- only preresolve does
  5602                 util.rename(a + ".resolve", a + ".orig")
  5605                 util.rename(a + ".resolve", a + ".orig")
       
  5606 
       
  5607         for f in tocomplete:
       
  5608             try:
       
  5609                 # resolve file
       
  5610                 ui.setconfig('ui', 'forcemerge', opts.get('tool', ''),
       
  5611                              'resolve')
       
  5612                 r = ms.resolve(f, wctx)
       
  5613                 if r:
       
  5614                     ret = 1
       
  5615             finally:
       
  5616                 ui.setconfig('ui', 'forcemerge', '', 'resolve')
       
  5617                 ms.commit()
  5603 
  5618 
  5604         ms.commit()
  5619         ms.commit()
  5605 
  5620 
  5606         if not didwork and pats:
  5621         if not didwork and pats:
  5607             ui.warn(_("arguments do not match paths that need resolving\n"))
  5622             ui.warn(_("arguments do not match paths that need resolving\n"))