# HG changeset patch # User FUJIWARA Katsunori # Date 1399736976 -32400 # Node ID edc55317de90f185d52f38ac2098b2a156a06835 # Parent 6f6ccb0bb6af9608aa043cd5eacabb6d9b5d4491 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. diff -r 6f6ccb0bb6af -r edc55317de90 mercurial/commands.py --- 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) diff -r 6f6ccb0bb6af -r edc55317de90 tests/test-backout.t --- 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