Browse Source

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>
maint
Johannes Schindelin 18 years ago committed by Junio C Hamano
parent
commit
5fda48d67c
  1. 6
      builtin-apply.c
  2. 6
      t/t4116-apply-reverse.sh

6
builtin-apply.c

@ -1003,12 +1003,16 @@ static int parse_fragment(char *line, unsigned long size, struct patch *patch, s @@ -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--;

6
t/t4116-apply-reverse.sh

@ -82,4 +82,10 @@ test_expect_success 'apply in reverse without postimage' ' @@ -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

Loading…
Cancel
Save