mercurial/commands.py
branchstable
changeset 12810 a68ccfd9c7be
parent 12809 e5922564ab01
child 12821 165079e564f0
equal deleted inserted replaced
12809:e5922564ab01 12810:a68ccfd9c7be
   276     revert_opts['all'] = True
   276     revert_opts['all'] = True
   277     revert_opts['rev'] = hex(parent)
   277     revert_opts['rev'] = hex(parent)
   278     revert_opts['no_backup'] = None
   278     revert_opts['no_backup'] = None
   279     revert(ui, repo, **revert_opts)
   279     revert(ui, repo, **revert_opts)
   280     if not opts.get('merge') and op1 != node:
   280     if not opts.get('merge') and op1 != node:
   281         return hg.update(repo, op1)
   281         try:
       
   282             ui.setconfig('ui', 'forcemerge', opts.get('tool', ''))
       
   283             return hg.update(repo, op1)
       
   284         finally:
       
   285             ui.setconfig('ui', 'forcemerge', '')
   282 
   286 
   283     commit_opts = opts.copy()
   287     commit_opts = opts.copy()
   284     commit_opts['addremove'] = False
   288     commit_opts['addremove'] = False
   285     if not commit_opts['message'] and not commit_opts['logfile']:
   289     if not commit_opts['message'] and not commit_opts['logfile']:
   286         # we don't translate commit messages
   290         # we don't translate commit messages
   293               (nice(repo.changelog.tip()), nice(node)))
   297               (nice(repo.changelog.tip()), nice(node)))
   294     if opts.get('merge') and op1 != node:
   298     if opts.get('merge') and op1 != node:
   295         hg.clean(repo, op1, show_stats=False)
   299         hg.clean(repo, op1, show_stats=False)
   296         ui.status(_('merging with changeset %s\n')
   300         ui.status(_('merging with changeset %s\n')
   297                   % nice(repo.changelog.tip()))
   301                   % nice(repo.changelog.tip()))
   298         return hg.merge(repo, hex(repo.changelog.tip()))
   302         try:
       
   303             ui.setconfig('ui', 'forcemerge', opts.get('tool', ''))
       
   304             return hg.merge(repo, hex(repo.changelog.tip()))
       
   305         finally:
       
   306             ui.setconfig('ui', 'forcemerge', '')
   299     return 0
   307     return 0
   300 
   308 
   301 def bisect(ui, repo, rev=None, extra=None, command=None,
   309 def bisect(ui, repo, rev=None, extra=None, command=None,
   302                reset=None, good=None, bad=None, skip=None, noupdate=None):
   310                reset=None, good=None, bad=None, skip=None, noupdate=None):
   303     """subdivision search of changesets
   311     """subdivision search of changesets
  4003         (backout,
  4011         (backout,
  4004          [('', 'merge', None,
  4012          [('', 'merge', None,
  4005            _('merge with old dirstate parent after backout')),
  4013            _('merge with old dirstate parent after backout')),
  4006           ('', 'parent', '',
  4014           ('', 'parent', '',
  4007            _('parent to choose when backing out merge'), _('REV')),
  4015            _('parent to choose when backing out merge'), _('REV')),
       
  4016           ('t', 'tool', '',
       
  4017            _('specify merge tool')),
  4008           ('r', 'rev', '',
  4018           ('r', 'rev', '',
  4009            _('revision to backout'), _('REV')),
  4019            _('revision to backout'), _('REV')),
  4010          ] + walkopts + commitopts + commitopts2,
  4020          ] + walkopts + commitopts + commitopts2,
  4011          _('[OPTION]... [-r] REV')),
  4021          _('[OPTION]... [-r] REV')),
  4012     "bisect":
  4022     "bisect":