Mercurial > hg
changeset 24769:e875b94dc94c
histedit: convert message action into a class
This converts the message action into a histeditclass instance, as part of an
ongoing effort to refactor histedit for maintainability and robustness.
author | Durham Goode <durham@fb.com> |
---|---|
date | Sat, 04 Apr 2015 00:42:32 -0700 |
parents | 342671704344 |
children | facdb20e60e9 |
files | hgext/histedit.py |
diffstat | 1 files changed, 5 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/histedit.py Sat Apr 04 00:30:01 2015 -0700 +++ b/hgext/histedit.py Sat Apr 04 00:42:32 2015 -0700 @@ -573,25 +573,9 @@ parentctx = self.repo[self.state.parentctxnode] return parentctx, [(self.node, tuple())] -def message(ui, state, ha, opts): - repo, ctxnode = state.repo, state.parentctxnode - ctx = repo[ctxnode] - oldctx = repo[ha] - hg.update(repo, ctx.node()) - stats = applychanges(ui, repo, oldctx, opts) - if stats and stats[3] > 0: - raise error.InterventionRequired( - _('Fix up the change and run hg histedit --continue')) - message = oldctx.description() - commit = commitfuncfor(repo, oldctx) - editor = cmdutil.getcommiteditor(edit=True, editform='histedit.mess') - new = commit(text=message, user=oldctx.user(), date=oldctx.date(), - extra=oldctx.extra(), editor=editor) - newctx = repo[new] - if oldctx.node() != newctx.node(): - return newctx, [(oldctx.node(), (new,))] - # We didn't make an edit, so just indicate no replaced nodes - return newctx, [] +class message(histeditaction): + def commiteditor(self): + return cmdutil.getcommiteditor(edit=True, editform='histedit.mess') def findoutgoing(ui, repo, remote=None, force=False, opts={}): """utility function to find the first outgoing changeset @@ -923,8 +907,8 @@ message = 'fold-temp-revision %s' % currentnode[:12] else: message = ctx.description() - editopt = action in ('e', 'edit', 'm', 'mess') - canonaction = {'e': 'edit', 'm': 'mess'} + editopt = action in ('e', 'edit') + canonaction = {'e': 'edit'} editform = 'histedit.%s' % canonaction.get(action, action) editor = cmdutil.getcommiteditor(edit=editopt, editform=editform) commit = commitfuncfor(repo, ctx)