# HG changeset patch # User Augie Fackler # Date 2012-11-14 01:32:53 # Node ID c8ffde272653ade9fce3bf24d6b403edc4dbd722 # Parent 7788b5e7d9efb49c31cffa79f7bf95608001f209 # Parent 35ba170c0f82dba18f0207ef4bd93216e6de8bbf Merge with crew-stable. diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py --- a/mercurial/cmdutil.py +++ b/mercurial/cmdutil.py @@ -1715,7 +1715,9 @@ def amend(ui, repo, commitfunc, old, ext user = opts.get('user') or old.user() date = opts.get('date') or old.date() + editmsg = False if not message: + editmsg = True message = old.description() pureextra = extra.copy() @@ -1729,7 +1731,8 @@ def amend(ui, repo, commitfunc, old, ext user=user, date=date, extra=extra) - new._text = commitforceeditor(repo, new, []) + if editmsg: + new._text = commitforceeditor(repo, new, []) newdesc = changelog.stripdesc(new.description()) if ((not node) diff --git a/tests/test-commit-amend.t b/tests/test-commit-amend.t --- a/tests/test-commit-amend.t +++ b/tests/test-commit-amend.t @@ -29,9 +29,10 @@ Nothing to amend: > EOF Amending changeset with changes in working dir: +(and check that --message does not trigger an editor) $ echo a >> a - $ hg ci --amend -m 'amend base1' + $ HGEDITOR="\"sh\" \"`pwd`/editor.sh\"" hg commit --amend -m 'amend base1' pretxncommit 43f1ba15f28a50abf0aae529cf8a16bfced7b149 43f1ba15f28a tip saved backup bundle to $TESTTMP/.hg/strip-backup/489edb5b847d-amend-backup.hg (glob) @@ -66,10 +67,11 @@ Add new file: Remove file that was added in amended commit: (and test logfile option) +(and test that logfile option do not trigger an editor) $ hg rm b $ echo 'amend base1 remove new file' > ../logfile - $ hg ci --amend -l ../logfile + $ HGEDITOR="\"sh\" \"`pwd`/editor.sh\"" hg ci --amend --logfile ../logfile saved backup bundle to $TESTTMP/.hg/strip-backup/b8e3cb2b3882-amend-backup.hg (glob) $ hg cat b