Browse Source

Merge branch 'kc/maint-diff-bwi-fix'

* kc/maint-diff-bwi-fix:
  Fix combined use of whitespace ignore options to diff
maint
Junio C Hamano 16 years ago
parent
commit
9a01387b97
  1. 8
      t/t4015-diff-whitespace.sh
  2. 6
      xdiff/xutils.c

8
t/t4015-diff-whitespace.sh

@ -99,11 +99,11 @@ EOF @@ -99,11 +99,11 @@ EOF
git diff -w > out
test_expect_success 'another test, with -w' 'test_cmp expect out'
git diff -w -b > out
test_expect_failure 'another test, with -w -b' 'test_cmp expect out'
test_expect_success 'another test, with -w -b' 'test_cmp expect out'
git diff -w --ignore-space-at-eol > out
test_expect_failure 'another test, with -w --ignore-space-at-eol' 'test_cmp expect out'
test_expect_success 'another test, with -w --ignore-space-at-eol' 'test_cmp expect out'
git diff -w -b --ignore-space-at-eol > out
test_expect_failure 'another test, with -w -b --ignore-space-at-eol' 'test_cmp expect out'
test_expect_success 'another test, with -w -b --ignore-space-at-eol' 'test_cmp expect out'

tr 'Q' '\015' << EOF > expect
diff --git a/x b/x
@ -123,7 +123,7 @@ EOF @@ -123,7 +123,7 @@ EOF
git diff -b > out
test_expect_success 'another test, with -b' 'test_cmp expect out'
git diff -b --ignore-space-at-eol > out
test_expect_failure 'another test, with -b --ignore-space-at-eol' 'test_cmp expect out'
test_expect_success 'another test, with -b --ignore-space-at-eol' 'test_cmp expect out'

tr 'Q' '\015' << EOF > expect
diff --git a/x b/x

6
xdiff/xutils.c

@ -245,12 +245,14 @@ static unsigned long xdl_hash_record_with_whitespace(char const **data, @@ -245,12 +245,14 @@ static unsigned long xdl_hash_record_with_whitespace(char const **data,
while (ptr + 1 < top && isspace(ptr[1])
&& ptr[1] != '\n')
ptr++;
if (flags & XDF_IGNORE_WHITESPACE_CHANGE
if (flags & XDF_IGNORE_WHITESPACE)
; /* already handled */
else if (flags & XDF_IGNORE_WHITESPACE_CHANGE
&& ptr[1] != '\n') {
ha += (ha << 5);
ha ^= (unsigned long) ' ';
}
if (flags & XDF_IGNORE_WHITESPACE_AT_EOL
else if (flags & XDF_IGNORE_WHITESPACE_AT_EOL
&& ptr[1] != '\n') {
while (ptr2 != ptr + 1) {
ha += (ha << 5);

Loading…
Cancel
Save