commit: don't use hard-coded `.hg/last-message.txt` path in error message stable
authorMartin von Zweigbergk <martinvonz@google.com>
Wed, 27 Apr 2022 15:47:57 +0200
branchstable
changeset 49148 db3f8e5cc965
parent 49146 802e2c25dab8
child 49149 006688e36e12
commit: don't use hard-coded `.hg/last-message.txt` path in error message Whoever wrote D8463 just used a hard-coded path to `.hg/last-message.text` instead of using the relative path that was already available in the `msgfn` variable (and used just a few lines up in related message). Let's fix that. Differential Revision: https://phab.mercurial-scm.org/D12585
mercurial/localrepo.py
tests/test-histedit-edit.t
--- a/mercurial/localrepo.py	Thu Apr 21 15:10:57 2022 +0200
+++ b/mercurial/localrepo.py	Wed Apr 27 15:47:57 2022 +0200
@@ -3176,7 +3176,7 @@
             # Save commit message in case this transaction gets rolled back
             # (e.g. by a pretxncommit hook).  Leave the content alone on
             # the assumption that the user will use the same editor again.
-            msgfn = self.savecommitmessage(cctx._text)
+            msg_path = self.savecommitmessage(cctx._text)
 
             # commit subs and write new state
             if subs:
@@ -3206,13 +3206,14 @@
             except:  # re-raises
                 if edited:
                     self.ui.write(
-                        _(b'note: commit message saved in %s\n') % msgfn
+                        _(b'note: commit message saved in %s\n') % msg_path
                     )
                     self.ui.write(
                         _(
                             b"note: use 'hg commit --logfile "
-                            b".hg/last-message.txt --edit' to reuse it\n"
+                            b"%s --edit' to reuse it\n"
                         )
+                        % msg_path
                     )
                 raise
 
--- a/tests/test-histedit-edit.t	Thu Apr 21 15:10:57 2022 +0200
+++ b/tests/test-histedit-edit.t	Wed Apr 27 15:47:57 2022 +0200
@@ -356,6 +356,8 @@
   A f
 
   $ rm -f .hg/last-message.txt
+  $ mkdir dir
+  $ cd dir
   $ HGEDITOR="sh $TESTTMP/editor.sh" hg histedit tip --commands - 2>&1 << EOF
   > mess 1fd3b2fe7754 f
   > EOF
@@ -372,10 +374,11 @@
   ====
   transaction abort!
   rollback completed
-  note: commit message saved in .hg/last-message.txt
-  note: use 'hg commit --logfile .hg/last-message.txt --edit' to reuse it
+  note: commit message saved in ../.hg/last-message.txt
+  note: use 'hg commit --logfile ../.hg/last-message.txt --edit' to reuse it
   abort: pretxncommit.unexpectedabort hook exited with status 1
   [40]
+  $ cd ..
   $ cat .hg/last-message.txt
   f