Browse Source

Fix "quote" misconversion for rewrite diff output.

663af3422a (Full rework of
quote_c_style and write_name_quoted.) mistakenly used puts()
when writing out a fixed string when it did not want to add a
terminating LF.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Junio C Hamano 18 years ago
parent
commit
f8b6809d52
  1. 2
      diff.c
  2. 26
      t/t4022-diff-rewrite.sh

2
diff.c

@ -2716,7 +2716,7 @@ static void diff_summary(struct diff_filepair *p) @@ -2716,7 +2716,7 @@ static void diff_summary(struct diff_filepair *p)
break;
default:
if (p->score) {
puts(" rewrite ");
fputs(" rewrite ", stdout);
write_name_quoted(p->two->path, stdout, ' ');
printf("(%d%%)\n", similarity_index(p));
}

26
t/t4022-diff-rewrite.sh

@ -0,0 +1,26 @@ @@ -0,0 +1,26 @@
#!/bin/sh

test_description='rewrite diff'

. ./test-lib.sh

test_expect_success setup '

cat ../../COPYING >test &&
git add test &&
tr 'a-zA-Z' 'n-za-mN-ZA-M' <../../COPYING >test

'

test_expect_success 'detect rewrite' '

actual=$(git diff-files -B --summary test) &&
expr "$actual" : " rewrite test ([0-9]*%)$" || {
echo "Eh? <<$actual>>"
false
}

'

test_done

Loading…
Cancel
Save