From 690e307f54b4aa84349b89e8552b25e7495f1cd6 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Mon, 6 Mar 2006 00:32:50 -0800 Subject: [PATCH 1/2] blame: unbreak "diff -U 0". The commit 604c86d15bb319a1e93ba218fca48ce1c500ae52 changed the original "diff -u0" to "diff -u -U 0" for portability. A big mistake without proper testing. The form "diff -u -U 0" shows the default 3-line contexts, because -u and -U 0 contradicts with each other; "diff -U 0" (or its longhand "diff --unified=0") is what we meant. Signed-off-by: Junio C Hamano --- blame.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/blame.c b/blame.c index fca22f9000..90338af31c 100644 --- a/blame.c +++ b/blame.c @@ -92,7 +92,7 @@ static struct patch *get_patch(struct commit *commit, struct commit *other) die("write failed: %s", strerror(errno)); close(fd); - sprintf(diff_cmd, "diff -u -U 0 %s %s", tmp_path1, tmp_path2); + sprintf(diff_cmd, "diff -U 0 %s %s", tmp_path1, tmp_path2); fin = popen(diff_cmd, "r"); if (!fin) die("popen failed: %s", strerror(errno)); @@ -234,7 +234,7 @@ static void print_patch(struct patch *p) } } -#if 0 +#if DEBUG /* For debugging only */ static void print_map(struct commit *cmit, struct commit *other) { From 1242642c468a7bcc335a676273eae4ced8a55f04 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Mon, 6 Mar 2006 00:41:17 -0800 Subject: [PATCH 2/2] annotate-blame: tests incomplete lines. Signed-off-by: Junio C Hamano --- t/annotate-tests.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/t/annotate-tests.sh b/t/annotate-tests.sh index 8cb32e156b..9c5a15a15e 100644 --- a/t/annotate-tests.sh +++ b/t/annotate-tests.sh @@ -100,3 +100,22 @@ test_expect_success \ 'Two lines blamed on A, one on B, two on B1, one on B2, one on A U Thor' \ 'check_count A 2 B 1 B1 2 B2 1 "A U Thor" 1' +test_expect_success \ + 'an incomplete line added' \ + 'echo "incomplete" | tr -d "\\012" >>file && + GIT_AUTHOR_NAME="C" git commit -a -m "Incomplete"' + +test_expect_success \ + 'With incomplete lines.' \ + 'check_count A 2 B 1 B1 2 B2 1 "A U Thor" 1 C 1' + +test_expect_success \ + 'some edit' \ + 'mv file file1 && + sed -e 1d -e "5s/3A/99/" file1 >file && + rm -f file1 && + GIT_AUTHOR_NAME="D" git commit -a -m "edit"' + +test_expect_success \ + 'some edit' \ + 'check_count A 1 B 1 B1 1 B2 1 "A U Thor" 1 C 1 D 1'