view tests/test-mq-eol.out @ 9827:4fe9ca519637

mdiff: fix diff -b/B/w on mixed whitespace hunks (issue127) Previous code was computing hunks then checking if these hunks could be ignored when taking whitespace/blank-lines options in accounts. This approach is simple but fails with hunks containing both whitespace and non-whitespace changes, the whole hunk is emitted while it can be mostly made of whitespace. The new version normalize the whitespaces before hunk generation, and test for blank-lines afterwards.
author Patrick Mezard <pmezard@gmail.com>
date Wed, 11 Nov 2009 18:31:42 +0100
parents 561ff8d9e4f0
children 9c2c94934f0d
line wrap: on
line source

adding .hgignore
adding a
adding eol.diff to series file
% should fail in strict mode
applying eol.diff
patching file a
Hunk #1 FAILED at 0
1 out of 1 hunks FAILED -- saving rejects to file a.rej
patch failed, unable to continue (try -v)
patch failed, rejects left in working dir
errors during apply, please fix and refresh eol.diff
popping eol.diff
patch queue now empty
% invalid eol
applying eol.diff
patch failed, unable to continue (try -v)
patch failed, rejects left in working dir
errors during apply, please fix and refresh eol.diff
popping eol.diff
patch queue now empty
% force LF
applying eol.diff
now at: eol.diff
test message<LF>
<LF>
diff --git a/a b/a<LF>
--- a/a<LF>
+++ b/a<LF>
@@ -1,5 +1,5 @@<LF>
-a<LF>
-b<LF>
-c<LF>
-d<LF>
-e<LF>
\ No newline at end of file<LF>
+a<CR><LF>
+y<CR><LF>
+c<CR><LF>
+d<CR><LF>
+z<LF>
\ No newline at end of file<LF>
a<CR><LF>
y<CR><LF>
c<CR><LF>
d<CR><LF>
z
popping eol.diff
patch queue now empty
% push again forcing LF and compare revisions
applying eol.diff
now at: eol.diff
a<CR><LF>
y<CR><LF>
c<CR><LF>
d<CR><LF>
z
popping eol.diff
patch queue now empty
% push again without LF and compare revisions
applying eol.diff
now at: eol.diff
a<CR><LF>
y<CR><LF>
c<CR><LF>
d<CR><LF>
z
popping eol.diff
patch queue now empty