backout: use "getcommiteditor()" instead of explicit editor choice
This patch also enhances "test-backout.t", because "hg backout" hasn't
been explicitly tested around editor invocation and '--edit' option.
--- a/mercurial/commands.py Sun May 11 00:49:35 2014 +0900
+++ b/mercurial/commands.py Sun May 11 00:49:36 2014 +0900
@@ -488,11 +488,11 @@
def commitfunc(ui, repo, message, match, opts):
- e = cmdutil.commiteditor
+ e = cmdutil.getcommiteditor()
if not message:
# we don't translate commit messages
message = "Backed out changeset %s" % short(node)
- e = cmdutil.commitforceeditor
+ e = cmdutil.getcommiteditor(edit=True)
return repo.commit(message, opts.get('user'), opts.get('date'),
match, editor=e)
newnode = cmdutil.commit(ui, repo, commitfunc, [], opts)
--- a/tests/test-backout.t Sun May 11 00:49:35 2014 +0900
+++ b/tests/test-backout.t Sun May 11 00:49:36 2014 +0900
@@ -11,6 +11,8 @@
[255]
basic operation
+(this also tests that editor is invoked if the commit message is not
+specified explicitly)
$ echo a > a
$ hg commit -d '0 0' -A -m a
@@ -18,8 +20,19 @@
$ echo b >> a
$ hg commit -d '1 0' -m b
- $ hg backout -d '2 0' tip --tool=true
+ $ hg status --rev tip --rev "tip^1"
+ M a
+ $ HGEDITOR=cat hg backout -d '2 0' tip --tool=true
reverting a
+ Backed out changeset a820f4f40a57
+
+
+ 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: changed a
changeset 2:2929462c3dff backs out changeset 1:a820f4f40a57
$ cat a
a
@@ -31,6 +44,8 @@
update: (current)
file that was removed is recreated
+(this also tests that editor is not invoked if the commit message is
+specified explicitly)
$ cd ..
$ hg init remove
@@ -43,7 +58,7 @@
$ hg rm a
$ hg commit -d '1 0' -m b
- $ hg backout -d '2 0' tip --tool=true
+ $ HGEDITOR=cat hg backout -d '2 0' tip --tool=true -m "Backed out changeset 76862dcce372"
adding a
changeset 2:de31bdc76c0d backs out changeset 1:76862dcce372
$ cat a