# HG changeset patch # User Greg Ward # Date 1259340652 18000 # Node ID bc3f762af82e88d63a2baaa0200a39731413b443 # Parent e5b44a7986d03adb905cf53563b35d6fb90e3ecf commit: write last-message.txt with no content modifications. This assumes the user will use either a sane editor (anything but Notepad) or the same editor again: even Notepad should be able to read what it previously wrote. diff -r e5b44a7986d0 -r bc3f762af82e mercurial/localrepo.py --- a/mercurial/localrepo.py Thu Nov 26 10:47:39 2009 +0200 +++ b/mercurial/localrepo.py Fri Nov 27 11:50:52 2009 -0500 @@ -837,12 +837,10 @@ subrepo.writestate(self, state) # Save commit message in case this transaction gets rolled back - # (e.g. by a pretxncommit hook). (Save in text mode in case a - # Windows user wants to edit it with Notepad. Normalize - # trailing whitespace so the file always looks the same -- - # makes testing easier.) - msgfile = self.opener('last-message.txt', 'w') - msgfile.write(cctx._text.rstrip() + '\n') + # (e.g. by a pretxncommit hook). Leave the content alone on + # the assumption that the user will use the same editor again. + msgfile = self.opener('last-message.txt', 'wb') + msgfile.write(cctx._text) msgfile.close() try: diff -r e5b44a7986d0 -r bc3f762af82e tests/test-rollback --- a/tests/test-rollback Thu Nov 26 10:47:39 2009 +0200 +++ b/tests/test-rollback Fri Nov 27 11:50:52 2009 -0500 @@ -22,7 +22,7 @@ echo '% Test issue 1635 (commit message saved)' echo '.hg/last-message.txt:' -cat .hg/last-message.txt +cat .hg/last-message.txt ; echo echo % Test rollback of hg before issue 902 was fixed hg commit -m "test3" @@ -35,7 +35,7 @@ echo a >> a hg --config hooks.pretxncommit=/bin/false commit -m"precious commit message" echo '.hg/last-message.txt:' -cat .hg/last-message.txt +cat .hg/last-message.txt ; echo echo '% same thing, but run $EDITOR' cat > $HGTMP/editor <<'__EOF__'