mirror of
https://github.com/git/git
synced 2024-08-27 11:39:22 +00:00
Merge branch 'bg/apply-blank-trailing-context' into maint
* bg/apply-blank-trailing-context: apply: Allow blank *trailing* context lines to match beyond EOF
This commit is contained in:
commit
e1ba0f6340
|
@ -1864,13 +1864,13 @@ static int match_fragment(struct image *img,
|
|||
if (match_end && (preimage->nr + try_lno != img->nr))
|
||||
return 0;
|
||||
} else if (ws_error_action == correct_ws_error &&
|
||||
(ws_rule & WS_BLANK_AT_EOF) && match_end) {
|
||||
(ws_rule & WS_BLANK_AT_EOF)) {
|
||||
/*
|
||||
* This hunk that matches at the end extends beyond
|
||||
* the end of img, and we are removing blank lines
|
||||
* at the end of the file. This many lines from the
|
||||
* beginning of the preimage must match with img, and
|
||||
* the remainder of the preimage must be blank.
|
||||
* This hunk extends beyond the end of img, and we are
|
||||
* removing blank lines at the end of the file. This
|
||||
* many lines from the beginning of the preimage must
|
||||
* match with img, and the remainder of the preimage
|
||||
* must be blank.
|
||||
*/
|
||||
preimage_limit = img->nr - try_lno;
|
||||
} else {
|
||||
|
|
|
@ -325,6 +325,18 @@ test_expect_success 'two missing blank lines at end with --whitespace=fix' '
|
|||
test_cmp one expect
|
||||
'
|
||||
|
||||
test_expect_success 'missing blank line at end, insert before end, --whitespace=fix' '
|
||||
{ echo a; echo; } >one &&
|
||||
git add one &&
|
||||
{ echo b; echo a; echo; } >one &&
|
||||
cp one expect &&
|
||||
git diff -- one >patch &&
|
||||
echo a >one &&
|
||||
test_must_fail git apply patch &&
|
||||
git apply --whitespace=fix patch &&
|
||||
test_cmp one expect
|
||||
'
|
||||
|
||||
test_expect_success 'shrink file with tons of missing blanks at end of file' '
|
||||
{ echo a; echo b; echo c; } >one &&
|
||||
cp one no-blank-lines &&
|
||||
|
|
Loading…
Reference in a new issue