diff --git a/hgext/mq.py b/hgext/mq.py --- a/hgext/mq.py +++ b/hgext/mq.py @@ -1081,17 +1081,18 @@ class queue(object): p.write("# Date %s %s\n\n" % date) defaultmsg = "[mq]: %s" % patchfn - editor = False + editor = cmdutil.getcommiteditor() if edit: - def desceditor(repo, ctx, subs): - desc = self.ui.edit(ctx.description() + "\n", - ctx.user()) + def finishdesc(desc): if desc.rstrip(): return desc else: return defaultmsg + # i18n: this message is shown in editor with "HG: " prefix + extramsg = _('Leave message empty to use default message.') + editor = cmdutil.getcommiteditor(finishdesc=finishdesc, + extramsg=extramsg) commitmsg = msg - editor = desceditor else: commitmsg = msg or defaultmsg diff --git a/tests/test-mq-qnew.t b/tests/test-mq-qnew.t --- a/tests/test-mq-qnew.t +++ b/tests/test-mq-qnew.t @@ -284,9 +284,17 @@ Test saving last-message.txt > EOF $ rm -f .hg/last-message.txt + $ hg status $ HGEDITOR="sh $TESTTMP/editor.sh" hg qnew -e patch ==== before editing + + HG: Enter commit message. Lines beginning with 'HG:' are removed. + HG: Leave message empty to use default message. + HG: -- + HG: user: test + HG: branch 'default' + HG: no files changed ==== transaction abort! rollback completed @@ -295,6 +303,7 @@ Test saving last-message.txt [255] $ cat .hg/last-message.txt + test saving last-message.txt $ cat >> .hg/hgrc < EOF $ rm -f .hg/last-message.txt + $ hg status $ HGEDITOR="sh $TESTTMP/editor.sh" hg qnew -e "patch " ==== before editing + + HG: Enter commit message. Lines beginning with 'HG:' are removed. + HG: Leave message empty to use default message. + HG: -- + HG: user: test + HG: branch 'default' + HG: no files changed ==== $ cat ".hg/patches/patch " # HG changeset patch