diff options
author | Junio C Hamano <gitster@pobox.com> | 2010-06-21 05:38:36 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-06-21 05:38:36 -0700 |
commit | e1ba0f6340c1d72677c7792a0a82ecf05363026e (patch) | |
tree | f298b749b5dbdc6e1e3d639da3950c3287f2a81a | |
parent | 70649945c215b1674611a40eda1d0058118a6d1a (diff) | |
parent | 0c3ef984fa2d4a42be787e168cfb189d15b00919 (diff) | |
download | git-e1ba0f6340c1d72677c7792a0a82ecf05363026e.tar.gz git-e1ba0f6340c1d72677c7792a0a82ecf05363026e.tar.xz |
Merge branch 'bg/apply-blank-trailing-context' into maint
* 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 771c972c5..f669157b4 100644 --- a/builtin/apply.c +++ b/builtin/apply.c @@ -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 { diff --git a/t/t4124-apply-ws-rule.sh b/t/t4124-apply-ws-rule.sh index fb9ad247b..451d75e3f 100755 --- a/t/t4124-apply-ws-rule.sh +++ b/t/t4124-apply-ws-rule.sh @@ -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 && |