Merge branch 'js/ignore-space-at-eol'
An age old bug that caused "git diff --ignore-space-at-eol" misbehave has been fixed. * js/ignore-space-at-eol: diff: fix a double off-by-one with --ignore-space-at-eol diff: demonstrate a bug with --patience and --ignore-space-at-eol
This commit is contained in:
commit
f2cfb8fcc9
@ -5,6 +5,14 @@ test_description='patience diff algorithm'
|
||||
. ./test-lib.sh
|
||||
. "$TEST_DIRECTORY"/lib-diff-alternative.sh
|
||||
|
||||
test_expect_success '--ignore-space-at-eol with a single appended character' '
|
||||
printf "a\nb\nc\n" >pre &&
|
||||
printf "a\nbX\nc\n" >post &&
|
||||
test_must_fail git diff --no-index \
|
||||
--patience --ignore-space-at-eol pre post >diff &&
|
||||
grep "^+.*X" diff
|
||||
'
|
||||
|
||||
test_diff_frobnitz "patience"
|
||||
|
||||
test_diff_unique "patience"
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* LibXDiff by Davide Libenzi ( File Differential Library )
|
||||
* Copyright (C) 2003-2009 Davide Libenzi, Johannes E. Schindelin
|
||||
* Copyright (C) 2003-2016 Davide Libenzi, Johannes E. Schindelin
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -200,8 +200,10 @@ int xdl_recmatch(const char *l1, long s1, const char *l2, long s2, long flags)
|
||||
return 0;
|
||||
}
|
||||
} else if (flags & XDF_IGNORE_WHITESPACE_AT_EOL) {
|
||||
while (i1 < s1 && i2 < s2 && l1[i1++] == l2[i2++])
|
||||
; /* keep going */
|
||||
while (i1 < s1 && i2 < s2 && l1[i1] == l2[i2]) {
|
||||
i1++;
|
||||
i2++;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user