diff -b: ignore whitespace at end of line
authorJohannes Schindelin <Johannes.Schindelin@gmx.de>
Sun, 3 Dec 2006 18:25:34 +0000 (19:25 +0100)
committerJunio C Hamano <junkio@cox.net>
Tue, 5 Dec 2006 00:30:54 +0000 (16:30 -0800)
This is _not_ the same as "treat eol as whitespace", since that would mean
that multiple empty lines would be treated as equal to e.g. a space.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
t/t4015-diff-whitespace.sh
xdiff/xutils.c

index 1bc5b7a41295426dfdd0b75aaf7b2ec4226f257a..adf4993bacf05b4ccb0b447910dda6a2c453bc83 100755 (executable)
@@ -109,12 +109,10 @@ index d99af23..8b32fb5 100644
 +      whitespace at beginning
  whitespace change
 -whitespace in the middle
--whitespace at end
 +white space in the middle
-+whitespace at end  
+ whitespace at end
  unchanged line
--CR at endQ
-+CR at end
+ CR at endQ
 EOF
 git-diff -b > out
 test_expect_success 'another test, with -b' 'diff -u expect out'
index 9e4bb47ee97a0fca5120c41365a80531ddb849e4..1b899f32c4b7c3f00c5310a161d0d9afd459f002 100644 (file)
@@ -230,7 +230,8 @@ unsigned long xdl_hash_record(char const **data, char const *top, long flags) {
                        while (ptr + 1 < top && isspace(ptr[1])
                                        && ptr[1] != '\n')
                                ptr++;
-                       if (flags & XDF_IGNORE_WHITESPACE_CHANGE) {
+                       if (flags & XDF_IGNORE_WHITESPACE_CHANGE
+                                       && ptr[1] != '\n') {
                                ha += (ha << 5);
                                ha ^= (unsigned long) ' ';
                        }