Pierre-Yves David  committed 45bd0cd

amend: force editor only if old message is reused (issue3698)

This regression was added by 9732473aa24b. It triggered the editor even if
--message or --logfile were provided.

  • Participants
  • Parent commits ce2c709
  • Branches stable

Comments (0)

Files changed (2)

File mercurial/

                 user = opts.get('user') or old.user()
                 date = opts.get('date') or
+            editmsg = False
             if not message:
+                editmsg = True
                 message = old.description()
             pureextra = extra.copy()
-            new._text = commitforceeditor(repo, new, [])
+            if editmsg:
+                new._text = commitforceeditor(repo, new, [])
             newdesc =  changelog.stripdesc(new.description())
             if ((not node)

File tests/test-commit-amend.t

   > 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`/\"" hg commit --amend -m 'amend base1'
   pretxncommit 43f1ba15f28a50abf0aae529cf8a16bfced7b149
   43f1ba15f28a tip
   saved backup bundle to $TESTTMP/.hg/strip-backup/489edb5b847d-amend-backup.hg (glob)
 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`/\"" hg ci --amend --logfile ../logfile
   saved backup bundle to $TESTTMP/.hg/strip-backup/b8e3cb2b3882-amend-backup.hg (glob)
   $ hg cat b