1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-06-02 16:26:10 +02:00

Merge branch 'bg/apply-blank-trailing-context'

* bg/apply-blank-trailing-context:
  apply: Allow blank *trailing* context lines to match beyond EOF
This commit is contained in:
Junio C Hamano 2010-05-08 22:37:41 -07:00
commit b7511571e3
2 changed files with 18 additions and 6 deletions

View File

@ -1866,13 +1866,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 {

View File

@ -330,6 +330,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 &&