Mercurial > public > mercurial-scm > hg-stable
diff 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 |
line wrap: on
line diff
--- a/mercurial/commands.py Fri Oct 22 17:08:15 2010 +0200 +++ b/mercurial/commands.py Fri Oct 22 11:58:43 2010 -0500 @@ -278,7 +278,11 @@ revert_opts['no_backup'] = None revert(ui, repo, **revert_opts) if not opts.get('merge') and op1 != node: - return hg.update(repo, op1) + try: + ui.setconfig('ui', 'forcemerge', opts.get('tool', '')) + return hg.update(repo, op1) + finally: + ui.setconfig('ui', 'forcemerge', '') commit_opts = opts.copy() commit_opts['addremove'] = False @@ -295,7 +299,11 @@ hg.clean(repo, op1, show_stats=False) ui.status(_('merging with changeset %s\n') % nice(repo.changelog.tip())) - return hg.merge(repo, hex(repo.changelog.tip())) + try: + ui.setconfig('ui', 'forcemerge', opts.get('tool', '')) + return hg.merge(repo, hex(repo.changelog.tip())) + finally: + ui.setconfig('ui', 'forcemerge', '') return 0 def bisect(ui, repo, rev=None, extra=None, command=None, @@ -4005,6 +4013,8 @@ _('merge with old dirstate parent after backout')), ('', 'parent', '', _('parent to choose when backing out merge'), _('REV')), + ('t', 'tool', '', + _('specify merge tool')), ('r', 'rev', '', _('revision to backout'), _('REV')), ] + walkopts + commitopts + commitopts2,