comparison mercurial/commands.py @ 12810:a68ccfd9c7be stable

backout: add --tool argument for specifying merge tool
author Steve Borho <steve@borho.org>
date Fri, 22 Oct 2010 11:58:43 -0500
parents e5922564ab01
children 165079e564f0
comparison
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":