[PATCH] crecord: properly handle files with No newline at eof (issue5268)

timeless timeless at fmr.im
Fri Sep 2 16:17:07 EDT 2016


# HG changeset patch
# User timeless <timeless at mozdev.org>
# Date 1472847337 0
#      Fri Sep 02 20:15:37 2016 +0000
# Node ID 68a20f02785b24f08b13e21ffc9e2a05031b07f8
# Parent  f148bfa40489269be2e48046734f81065129847a
# Available At https://bitbucket.org/timeless/mercurial-crew
#              hg pull https://bitbucket.org/timeless/mercurial-crew -r 68a20f02785b
crecord: properly handle files with No newline at eof (issue5268)

Yes, this bug was a single character with the wrong case...

diff -r f148bfa40489 -r 68a20f02785b mercurial/crecord.py
--- a/mercurial/crecord.py	Tue Jul 05 09:37:07 2016 +0200
+++ b/mercurial/crecord.py	Fri Sep 02 20:15:37 2016 +0000
@@ -387,7 +387,7 @@
 
         contextlen = (len(self.before) + len(self.after) +
                       removedconvertedtocontext)
-        if self.after and self.after[-1] == '\\ no newline at end of file\n':
+        if self.after and self.after[-1] == '\\ No newline at end of file\n':
             contextlen -= 1
         fromlen = contextlen + self.removed
         tolen = contextlen + self.added
diff -r f148bfa40489 -r 68a20f02785b tests/test-commit-interactive-curses.t
--- a/tests/test-commit-interactive-curses.t	Tue Jul 05 09:37:07 2016 +0200
+++ b/tests/test-commit-interactive-curses.t	Fri Sep 02 20:15:37 2016 +0000
@@ -9,6 +9,21 @@
   > crecordtest = testModeCommands
   > EOF
 
+Record with noeol at eof (issue5268)
+  $ hg init noeol
+  $ cd noeol
+  $ printf '0' > a
+  $ printf '0\n' > b
+  $ hg ci -Aqm initial
+  $ printf '1\n0' > a
+  $ printf '1\n0\n' > b
+  $ cat <<EOF >testModeCommands
+  > c
+  > EOF
+  $ HGEDITOR="\"sh\" \"`pwd`/editor.sh\"" hg commit  -i -m "add hunks" -d "0 0"
+  $ cd ..
+
+Normal repo
   $ hg init a
   $ cd a
 


More information about the Mercurial-devel mailing list