mirror of
https://github.com/git/git.git
synced 2024-11-23 18:05:29 +08:00
Merge branch 'tr/maint-word-diff-incomplete-line'
* tr/maint-word-diff-incomplete-line: word-diff: ignore '\ No newline at eof' marker
This commit is contained in:
commit
05c65cb116
9
diff.c
9
diff.c
@ -1113,6 +1113,15 @@ static void fn_out_consume(void *priv, char *line, unsigned long len)
|
||||
diff_words_append(line, len,
|
||||
&ecbdata->diff_words->plus);
|
||||
return;
|
||||
} else if (!prefixcmp(line, "\\ ")) {
|
||||
/*
|
||||
* Eat the "no newline at eof" marker as if we
|
||||
* saw a "+" or "-" line with nothing on it,
|
||||
* and return without diff_words_flush() to
|
||||
* defer processing. If this is the end of
|
||||
* preimage, more "+" lines may come after it.
|
||||
*/
|
||||
return;
|
||||
}
|
||||
diff_words_flush(ecbdata);
|
||||
if (ecbdata->diff_words->type == DIFF_WORDS_PORCELAIN) {
|
||||
|
@ -334,4 +334,18 @@ test_expect_success 'word-diff with diff.sbe' '
|
||||
word_diff --word-diff=plain
|
||||
'
|
||||
|
||||
test_expect_success 'word-diff with no newline at EOF' '
|
||||
cat >expect <<-\EOF &&
|
||||
diff --git a/pre b/post
|
||||
index 7bf316e..3dd0303 100644
|
||||
--- a/pre
|
||||
+++ b/post
|
||||
@@ -1 +1 @@
|
||||
a a [-a-]{+ab+} a a
|
||||
EOF
|
||||
printf "%s" "a a a a a" >pre &&
|
||||
printf "%s" "a a ab a a" >post &&
|
||||
word_diff --word-diff=plain
|
||||
'
|
||||
|
||||
test_done
|
||||
|
Loading…
Reference in New Issue
Block a user