diff options
author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | 2006-12-03 19:25:34 +0100 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-12-04 16:30:54 -0800 |
commit | c7c24889bb694f93a12f41a28fab26d30e571c17 (patch) | |
tree | 44d4ce6aeda68a63f4bcde207268e66f8629cc5e | |
parent | ba988a83f0cfdafdcfdc7ed44253840ea83578fb (diff) | |
download | git-c7c24889bb694f93a12f41a28fab26d30e571c17.tar.gz git-c7c24889bb694f93a12f41a28fab26d30e571c17.tar.xz |
diff -b: ignore whitespace at end of line
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>
-rwxr-xr-x | t/t4015-diff-whitespace.sh | 6 | ||||
-rw-r--r-- | xdiff/xutils.c | 3 |
2 files changed, 4 insertions, 5 deletions
diff --git a/t/t4015-diff-whitespace.sh b/t/t4015-diff-whitespace.sh index 1bc5b7a41..adf4993ba 100755 --- a/t/t4015-diff-whitespace.sh +++ b/t/t4015-diff-whitespace.sh @@ -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' diff --git a/xdiff/xutils.c b/xdiff/xutils.c index 9e4bb47ee..1b899f32c 100644 --- a/xdiff/xutils.c +++ b/xdiff/xutils.c @@ -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) ' '; } |