mirror of
https://github.com/git/git
synced 2024-08-25 02:35:46 +00:00
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-lib.sh
|
||||||
. "$TEST_DIRECTORY"/lib-diff-alternative.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_frobnitz "patience"
|
||||||
|
|
||||||
test_diff_unique "patience"
|
test_diff_unique "patience"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* LibXDiff by Davide Libenzi ( File Differential Library )
|
* 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
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* 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;
|
return 0;
|
||||||
}
|
}
|
||||||
} else if (flags & XDF_IGNORE_WHITESPACE_AT_EOL) {
|
} else if (flags & XDF_IGNORE_WHITESPACE_AT_EOL) {
|
||||||
while (i1 < s1 && i2 < s2 && l1[i1++] == l2[i2++])
|
while (i1 < s1 && i2 < s2 && l1[i1] == l2[i2]) {
|
||||||
; /* keep going */
|
i1++;
|
||||||
|
i2++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in a new issue