commit: change "editform" to distinguish merge commits from other (--amend)
"editform" argument for "getcommiteditor" is decided according to the
format below:
COMMAND[.ROUTE]
- COMMAND: name of command
- ROUTE: name of route, if there are two or more routes in COMMAND
This patch uses "amend.normal" and "amend.merge" as ROUTE of
"editform" instead of "amend", to distinguish merge commits from other
in "hg commit --amend" case.
--- a/mercurial/cmdutil.py Sat Aug 16 10:43:59 2014 +0900
+++ b/mercurial/cmdutil.py Sat Aug 16 10:43:59 2014 +0900
@@ -2133,7 +2133,7 @@
user = opts.get('user') or old.user()
date = opts.get('date') or old.date()
- editform = 'commit.amend'
+ editform = mergeeditform(old, 'commit.amend')
editor = getcommiteditor(editform=editform, **opts)
if not message:
editor = getcommiteditor(edit=True, editform=editform)
--- a/mercurial/help/config.txt Sat Aug 16 10:43:59 2014 +0900
+++ b/mercurial/help/config.txt Sat Aug 16 10:43:59 2014 +0900
@@ -394,7 +394,8 @@
messages for each actions.
- ``changeset.backout`` for :hg:`backout`
-- ``changeset.commit.amend`` for :hg:`commit --amend`
+- ``changeset.commit.amend.merge`` for :hg:`commit --amend` on merges
+- ``changeset.commit.amend.normal`` for :hg:`commit --amend` on other
- ``changeset.commit.normal.merge`` for :hg:`commit` on merges
- ``changeset.commit.normal.normal`` for :hg:`commit` on other
- ``changeset.fetch`` for :hg:`fetch` (impling merge commit)
--- a/tests/test-commit-amend.t Sat Aug 16 10:43:59 2014 +0900
+++ b/tests/test-commit-amend.t Sat Aug 16 10:43:59 2014 +0900
@@ -145,7 +145,12 @@
Test -u/-d:
- $ hg ci --amend -u foo -d '1 0'
+ $ cat > .hg/checkeditform.sh <<EOF
+ > env | grep HGEDITFORM
+ > true
+ > EOF
+ $ HGEDITOR="sh .hg/checkeditform.sh" hg ci --amend -u foo -d '1 0'
+ HGEDITFORM=commit.amend.normal
saved backup bundle to $TESTTMP/.hg/strip-backup/1cd866679df8-amend-backup.hg (glob)
$ echo a >> a
$ hg ci --amend -u foo -d '1 0'
@@ -619,7 +624,8 @@
zz renamed from z:69a1b67522704ec122181c0890bd16e9d3e7516a
$ hg debugrename cc
cc not renamed
- $ hg ci --amend -m 'merge bar (amend message)'
+ $ HGEDITOR="sh .hg/checkeditform.sh" hg ci --amend -m 'merge bar (amend message)' --edit
+ HGEDITFORM=commit.amend.merge
$ hg log --config diff.git=1 -pr .
changeset: 24:832b50f2c271
tag: tip