diff --git a/hgext/histedit.py b/hgext/histedit.py --- a/hgext/histedit.py +++ b/hgext/histedit.py @@ -402,11 +402,10 @@ def message(ui, repo, ctx, ha, opts): raise error.InterventionRequired( _('Fix up the change and run hg histedit --continue')) message = oldctx.description() - def editor(repo, ctx, subs): - return ui.edit(ctx.description() + "\n", ctx.user()) commit = commitfuncfor(repo, oldctx) new = commit(text=message, user=oldctx.user(), date=oldctx.date(), - extra=oldctx.extra(), editor=editor) + extra=oldctx.extra(), + editor=cmdutil.getcommiteditor(edit=True)) newctx = repo[new] if oldctx.node() != newctx.node(): return newctx, [(oldctx.node(), (new,))] diff --git a/tests/test-histedit-edit.t b/tests/test-histedit-edit.t --- a/tests/test-histedit-edit.t +++ b/tests/test-histedit-edit.t @@ -240,20 +240,35 @@ check saving last-message.txt, at first > pretxncommit.unexpectedabort = false > EOF + $ hg status --rev '1fd3b2fe7754^1' --rev 1fd3b2fe7754 + A f + $ rm -f .hg/last-message.txt - $ HGEDITOR="sh $TESTTMP/editor.sh" hg histedit tip --commands - 2>&1 << EOF | fixbundle + $ HGEDITOR="sh $TESTTMP/editor.sh" hg histedit tip --commands - 2>&1 << EOF > mess 1fd3b2fe7754 f > EOF 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + adding f ==== before editing f + + + HG: Enter commit message. Lines beginning with 'HG:' are removed. + HG: Leave message empty to abort commit. + HG: -- + HG: user: test + HG: branch 'default' + HG: added f ==== transaction abort! rollback completed note: commit message saved in .hg/last-message.txt abort: pretxncommit.unexpectedabort hook exited with status 1 + [255] $ cat .hg/last-message.txt f + + check saving last-message.txt $ cat >> .hg/hgrc <