diff options
author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | 2007-07-07 21:50:39 +0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-07-07 22:54:51 +0400 |
commit | 5fda48d67c82e07950e0b0c21cd8c97daefd7be0 (patch) | |
tree | 6e00623936013d4aaea619c55cd0d7c45fa96257 | |
parent | ed5f07a6fdc5653e24a5bd6c216d12bc878496bd (diff) |
Fix "apply --reverse" with regard to whitespace
"git apply" used to take check the whitespace in the wrong
direction.
Noticed by Daniel Barkalow.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin-apply.c | 6 | ||||
-rwxr-xr-x | t/t4116-apply-reverse.sh | 6 |
2 files changed, 11 insertions, 1 deletions
diff --git a/builtin-apply.c b/builtin-apply.c index 0399743c4e..490e23ef40 100644 --- a/builtin-apply.c +++ b/builtin-apply.c @@ -1003,12 +1003,16 @@ static int parse_fragment(char *line, unsigned long size, struct patch *patch, s trailing++; break; case '-': + if (apply_in_reverse && + new_whitespace != nowarn_whitespace) + check_whitespace(line, len); deleted++; oldlines--; trailing = 0; break; case '+': - if (new_whitespace != nowarn_whitespace) + if (!apply_in_reverse && + new_whitespace != nowarn_whitespace) check_whitespace(line, len); added++; newlines--; diff --git a/t/t4116-apply-reverse.sh b/t/t4116-apply-reverse.sh index 2685b22630..11e02807a5 100755 --- a/t/t4116-apply-reverse.sh +++ b/t/t4116-apply-reverse.sh @@ -82,4 +82,10 @@ test_expect_success 'apply in reverse without postimage' ' ) ' +test_expect_success 'reversing a whitespace introduction' ' + sed "s/a/a /" < file1 > file1.new && + mv file1.new file1 && + git diff | git apply --reverse --whitespace=error +' + test_done |