Re: Bug in "git blame -C"
- From
Junio C Hamano <junkio@cox.net>
- Date
- Nov 29, 2006, 06:21 UTC
- Message-ID
- <7vmz6au626.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <7vu00iu7lb.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano <junkio@cox.net> writes:
Show 8 quoted lines
> Linus Torvalds <torvalds@osdl.org> writes: > >> - "git blame -C" has apparently decided that it doesn't need to show >> filenames that things came from, because they all came from the same >> commit, but that's not a logical thing to compare. "same commit" does >> not mean "same filename", so not showing the filename makes no sense. > > This is definitely a bug,
A replacement patch that should be much cleaner and to the point.
---
diff --git a/builtin-blame.c b/builtin-blame.c index 066dee7..4090a80 100644 --- a/builtin-blame.c +++ b/builtin-blame.c @@ -1435,11 +1435,12 @@ static void find_alignment(struct scoreboard *sb, int *option) struct commit_info ci; int num; + if (strcmp(suspect->path, sb->path)) + *option |= OUTPUT_SHOW_NAME | OUTPUT_SHOW_NUMBER; + if (!(suspect->commit->object.flags & METAINFO_SHOWN)) { suspect->commit->object.flags |= METAINFO_SHOWN; get_commit_info(suspect->commit, &ci, 1); - if (strcmp(suspect->path, sb->path)) - *option |= OUTPUT_SHOW_NAME; num = strlen(suspect->path); if (longest_file < num) longest_file = num;