384 @command('backout', |
384 @command('backout', |
385 [('', 'merge', None, _('merge with old dirstate parent after backout')), |
385 [('', 'merge', None, _('merge with old dirstate parent after backout')), |
386 ('', 'parent', '', |
386 ('', 'parent', '', |
387 _('parent to choose when backing out merge (DEPRECATED)'), _('REV')), |
387 _('parent to choose when backing out merge (DEPRECATED)'), _('REV')), |
388 ('r', 'rev', '', _('revision to backout'), _('REV')), |
388 ('r', 'rev', '', _('revision to backout'), _('REV')), |
|
389 ('e', 'edit', False, _('invoke editor on commit messages')), |
389 ] + mergetoolopts + walkopts + commitopts + commitopts2, |
390 ] + mergetoolopts + walkopts + commitopts + commitopts2, |
390 _('[OPTION]... [-r] REV')) |
391 _('[OPTION]... [-r] REV')) |
391 def backout(ui, repo, node=None, rev=None, **opts): |
392 def backout(ui, repo, node=None, rev=None, **opts): |
392 '''reverse effect of earlier changeset |
393 '''reverse effect of earlier changeset |
393 |
394 |
486 repo.dirstate.setbranch(branch) |
487 repo.dirstate.setbranch(branch) |
487 cmdutil.revert(ui, repo, rctx, repo.dirstate.parents()) |
488 cmdutil.revert(ui, repo, rctx, repo.dirstate.parents()) |
488 |
489 |
489 |
490 |
490 def commitfunc(ui, repo, message, match, opts): |
491 def commitfunc(ui, repo, message, match, opts): |
491 e = cmdutil.getcommiteditor() |
492 e = cmdutil.getcommiteditor(**opts) |
492 if not message: |
493 if not message: |
493 # we don't translate commit messages |
494 # we don't translate commit messages |
494 message = "Backed out changeset %s" % short(node) |
495 message = "Backed out changeset %s" % short(node) |
495 e = cmdutil.getcommiteditor(edit=True) |
496 e = cmdutil.getcommiteditor(edit=True) |
496 return repo.commit(message, opts.get('user'), opts.get('date'), |
497 return repo.commit(message, opts.get('user'), opts.get('date'), |