git-apply: do not fix whitespaces on context lines.
authorJunio C Hamano <junkio@cox.net>
Tue, 27 Feb 2007 09:31:42 +0000 (01:31 -0800)
committerJunio C Hamano <junkio@cox.net>
Tue, 27 Feb 2007 09:33:14 +0000 (01:33 -0800)
Internal function apply_line() is called to copy both context lines
and added lines to the output buffer, while possibly fixing the
whitespace breakages depending on --whitespace=strip settings.
However, it did its fix-up on both context lines and added lines.

This resulted in two symptoms:

 (1) The number of lines reported to have been fixed up included
     these context lines.

 (2) However, the lines actually shown were limited to the added
     lines that had whitespace breakages.

Signed-off-by: Junio C Hamano <junkio@cox.net>
builtin-apply.c

index abe3538..bec95d6 100644 (file)
@@ -1539,7 +1539,8 @@ static int apply_line(char *output, const char *patch, int plen)
        int need_fix_leading_space = 0;
        char *buf;
 
-       if ((new_whitespace != strip_whitespace) || !whitespace_error) {
+       if ((new_whitespace != strip_whitespace) || !whitespace_error ||
+           *patch != '+') {
                memcpy(output, patch + 1, plen);
                return plen;
        }