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>
This commit is contained in:
Junio C Hamano 2007-11-21 23:06:44 -08:00
parent d794d9e70e
commit f8b6809d52
2 changed files with 27 additions and 1 deletions

2
diff.c
View file

@ -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 Executable file
View file

@ -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