threads / discuss / 5757

git sometimes stripping one path component in commit mails

Subject: git sometimes stripping one path component in commit mails

## tl;dr

2 messages between Sep 29, 2006 and Sep 29, 2006.

replies: 1people: 2as markdown or json

Geert Uytterhoeven· Sep 29, 2006, 08:41 UTC · lore
	Hi,

I noticed git sometimes strips one path component from the filenames in the patches mailed to the git-commits mailing lists. This causes problems when piping these mails through diffstat.

Here is a part of an actual mail received through git-commits-head@vger.kernel.org to demonstrate this issue:

Is this a current git bug, or a bug in the version used for those mailing lists?

| commit 94c12cc7d196bab34aaa98d38521549fa1e5ef76
| tree 8e0cec0ed44445d74a2cb5160303d6b4dfb1bc31
| parent 25d83cbfaa44e1b9170c0941c3ef52ca39f54ccc
| author Martin Schwidefsky <schwidefsky@de.ibm.com> 1159455403 +0200
| committer Martin Schwidefsky <schwidefsky@de.ibm.com> 1159455403 +0200
| diff --git a/include/asm-s390/irqflags.h b/include/asm-s390/irqflags.h
| dissimilarity index 65%
| index 3b566a5..3f26131 100644
| --- include/asm-s390/irqflags.h
| +++ include/asm-s390/irqflags.h
      ^^
      woops
| diff --git a/include/asm-s390/lowcore.h b/include/asm-s390/lowcore.h
| index 18695d1..06583ed 100644
| --- a/include/asm-s390/lowcore.h
| +++ b/include/asm-s390/lowcore.h
      ^^
      OK
Gr{oetje,eeting}s,
						Geert

-- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds
Junio C Hamano· Sep 29, 2006, 09:08 UTC · re: Geert Uytterhoeven · lore

Re: git sometimes stripping one path component in commit mails

Geert Uytterhoeven <geert@linux-m68k.org> writes:
Show 12 quoted lines
> Is this a current git bug, or a bug in the version used for those mailing
> lists?
>
> | commit 94c12cc7d196bab34aaa98d38521549fa1e5ef76
>...
> | diff --git a/include/asm-s390/irqflags.h b/include/asm-s390/irqflags.h
> | dissimilarity index 65%
> | index 3b566a5..3f26131 100644
> | --- include/asm-s390/irqflags.h
> | +++ include/asm-s390/irqflags.h
>       ^^
>       woops

This is a current git bug (and git bug ever since it started to say "dissimilarity index"). Thanks for noticing, and very sorry for the trouble. It seems that a complete rewrite diff never worked and nobody seriously looked at them.

This should fix it.

-- >8 -- [PATCH] git-diff -B output fix.

Geert noticed that complete rewrite diff missed the usual a/ and b/ leading paths. Pickaxe says it never worked, ever.

Embarrassing.
Signed-off-by: Junio C Hamano <junkio@cox.net>
---
 diff.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/diff.c b/diff.c
index 2464238..17f5a91 100644
--- a/diff.c
+++ b/diff.c
@@ -208,7 +208,7 @@ static void emit_rewrite_diff(const char
 	diff_populate_filespec(two, 0);
 	lc_a = count_lines(one->data, one->size);
 	lc_b = count_lines(two->data, two->size);
-	printf("--- %s\n+++ %s\n@@ -", name_a, name_b);
+	printf("--- a/%s\n+++ b/%s\n@@ -", name_a, name_b);
 	print_line_count(lc_a);
 	printf(" +");
 	print_line_count(lc_b);
-- 
1.4.2.1.gce47b

← back to recent threads