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": |