Skip to content

Commit a52fb9b

Browse files
committed
Merge branch 'js/ignore-space-at-eol' into maint
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
2 parents 71076e1 + 044fb19 commit a52fb9b

File tree

3 files changed

+13
-3
lines changed

3 files changed

+13
-3
lines changed

t/t4033-diff-patience.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,14 @@ test_description='patience diff algorithm'
55
. ./test-lib.sh
66
. "$TEST_DIRECTORY"/lib-diff-alternative.sh
77

8+
test_expect_success '--ignore-space-at-eol with a single appended character' '
9+
printf "a\nb\nc\n" >pre &&
10+
printf "a\nbX\nc\n" >post &&
11+
test_must_fail git diff --no-index \
12+
--patience --ignore-space-at-eol pre post >diff &&
13+
grep "^+.*X" diff
14+
'
15+
816
test_diff_frobnitz "patience"
917

1018
test_diff_unique "patience"

xdiff/xpatience.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
* LibXDiff by Davide Libenzi ( File Differential Library )
3-
* Copyright (C) 2003-2009 Davide Libenzi, Johannes E. Schindelin
3+
* Copyright (C) 2003-2016 Davide Libenzi, Johannes E. Schindelin
44
*
55
* This library is free software; you can redistribute it and/or
66
* modify it under the terms of the GNU Lesser General Public

xdiff/xutils.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,10 @@ int xdl_recmatch(const char *l1, long s1, const char *l2, long s2, long flags)
200200
return 0;
201201
}
202202
} else if (flags & XDF_IGNORE_WHITESPACE_AT_EOL) {
203-
while (i1 < s1 && i2 < s2 && l1[i1++] == l2[i2++])
204-
; /* keep going */
203+
while (i1 < s1 && i2 < s2 && l1[i1] == l2[i2]) {
204+
i1++;
205+
i2++;
206+
}
205207
}
206208

207209
/*

0 commit comments

Comments
 (0)