diff options
author | Junio C Hamano <gitster@pobox.com> | 2010-05-08 22:37:41 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-05-08 22:37:41 -0700 |
commit | b7511571e3ecd6b81a47e42a52cf9b5160a3d6e9 (patch) | |
tree | 56c67e4fdf0f4e30433939d3443543bc9c93851f | |
parent | daa81c4a4a48a76e542293c025972e6a870fec9b (diff) | |
parent | 0c3ef984fa2d4a42be787e168cfb189d15b00919 (diff) | |
download | git-b7511571e3ecd6b81a47e42a52cf9b5160a3d6e9.tar.gz git-b7511571e3ecd6b81a47e42a52cf9b5160a3d6e9.tar.xz |
Merge branch 'bg/apply-blank-trailing-context'
* bg/apply-blank-trailing-context:
apply: Allow blank *trailing* context lines to match beyond EOF
-rw-r--r-- | builtin/apply.c | 12 | ||||
-rwxr-xr-x | t/t4124-apply-ws-rule.sh | 12 |
2 files changed, 18 insertions, 6 deletions
diff --git a/builtin/apply.c b/builtin/apply.c index d56cabf5e..8fc5ec31d 100644 --- a/builtin/apply.c +++ b/builtin/apply.c @@ -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 { diff --git a/t/t4124-apply-ws-rule.sh b/t/t4124-apply-ws-rule.sh index 8d46df6c3..d0af697aa 100755 --- a/t/t4124-apply-ws-rule.sh +++ b/t/t4124-apply-ws-rule.sh @@ -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 && |