mercurial/commands.py
branchstable
changeset 21709 14560418856d
parent 21571 17da326fd041
child 21720 db2392a4effc
equal deleted inserted replaced
21708:2668a78df8ba 21709:14560418856d
  4925         raise util.Abort(_("can't specify --all and patterns"))
  4925         raise util.Abort(_("can't specify --all and patterns"))
  4926     if not (all or pats or show or mark or unmark):
  4926     if not (all or pats or show or mark or unmark):
  4927         raise util.Abort(_('no files or directories specified; '
  4927         raise util.Abort(_('no files or directories specified; '
  4928                            'use --all to remerge all files'))
  4928                            'use --all to remerge all files'))
  4929 
  4929 
  4930     ms = mergemod.mergestate(repo)
  4930     wlock = repo.wlock()
  4931     m = scmutil.match(repo[None], pats, opts)
  4931     try:
  4932     ret = 0
  4932         ms = mergemod.mergestate(repo)
  4933 
  4933         m = scmutil.match(repo[None], pats, opts)
  4934     for f in ms:
  4934         ret = 0
  4935         if m(f):
  4935 
  4936             if show:
  4936         for f in ms:
  4937                 if nostatus:
  4937             if m(f):
  4938                     ui.write("%s\n" % f)
  4938                 if show:
       
  4939                     if nostatus:
       
  4940                         ui.write("%s\n" % f)
       
  4941                     else:
       
  4942                         ui.write("%s %s\n" % (ms[f].upper(), f),
       
  4943                                  label='resolve.' +
       
  4944                                  {'u': 'unresolved', 'r': 'resolved'}[ms[f]])
       
  4945                 elif mark:
       
  4946                     ms.mark(f, "r")
       
  4947                 elif unmark:
       
  4948                     ms.mark(f, "u")
  4939                 else:
  4949                 else:
  4940                     ui.write("%s %s\n" % (ms[f].upper(), f),
  4950                     wctx = repo[None]
  4941                              label='resolve.' +
  4951 
  4942                              {'u': 'unresolved', 'r': 'resolved'}[ms[f]])
  4952                     # backup pre-resolve (merge uses .orig for its own purposes)
  4943             elif mark:
  4953                     a = repo.wjoin(f)
  4944                 ms.mark(f, "r")
  4954                     util.copyfile(a, a + ".resolve")
  4945             elif unmark:
  4955 
  4946                 ms.mark(f, "u")
  4956                     try:
  4947             else:
  4957                         # resolve file
  4948                 wctx = repo[None]
  4958                         ui.setconfig('ui', 'forcemerge', opts.get('tool', ''),
  4949 
  4959                                      'resolve')
  4950                 # backup pre-resolve (merge uses .orig for its own purposes)
  4960                         if ms.resolve(f, wctx):
  4951                 a = repo.wjoin(f)
  4961                             ret = 1
  4952                 util.copyfile(a, a + ".resolve")
  4962                     finally:
  4953 
  4963                         ui.setconfig('ui', 'forcemerge', '', 'resolve')
  4954                 try:
  4964                         ms.commit()
  4955                     # resolve file
  4965 
  4956                     ui.setconfig('ui', 'forcemerge', opts.get('tool', ''),
  4966                     # replace filemerge's .orig file with our resolve file
  4957                                  'resolve')
  4967                     util.rename(a + ".resolve", a + ".orig")
  4958                     if ms.resolve(f, wctx):
  4968 
  4959                         ret = 1
  4969         ms.commit()
  4960                 finally:
  4970     finally:
  4961                     ui.setconfig('ui', 'forcemerge', '', 'resolve')
  4971         wlock.release()
  4962                     ms.commit()
  4972 
  4963 
       
  4964                 # replace filemerge's .orig file with our resolve file
       
  4965                 util.rename(a + ".resolve", a + ".orig")
       
  4966 
       
  4967     ms.commit()
       
  4968     return ret
  4973     return ret
  4969 
  4974 
  4970 @command('revert',
  4975 @command('revert',
  4971     [('a', 'all', None, _('revert all changes when no arguments given')),
  4976     [('a', 'all', None, _('revert all changes when no arguments given')),
  4972     ('d', 'date', '', _('tipmost revision matching date'), _('DATE')),
  4977     ('d', 'date', '', _('tipmost revision matching date'), _('DATE')),