[PATCH (take 3)] git blame -C: fix output format tweaks when crossing file boundary.
- From
Junio C Hamano <junkio@cox.net>
- Date
- Nov 29, 2006, 06:32 UTC
- Message-ID
- <7vhcwiu5jz.fsf_-_@assigned-by-dhcp.cox.net>
- In-Reply-To
- <7vmz6au626.fsf@assigned-by-dhcp.cox.net>
We used to get the case that more than two paths came from the same commit wrong when computing the output width and deciding to turn on --show-name option automatically. When we find that lines that came from a path that is different from what we started digging from, we should always turn --show-name on, and we should count the name length for all files involved.
Signed-off-by: Junio C Hamano <junkio@cox.net> ---
* BLUSH. Both of the previous ones were botched. Third time lucky, hopefully.
builtin-blame.c | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/builtin-blame.c b/builtin-blame.c index 066dee7..53fed45 100644 --- a/builtin-blame.c +++ b/builtin-blame.c @@ -1435,14 +1435,14 @@ 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; + num = strlen(suspect->path); + if (longest_file < num) + longest_file = num; 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; num = strlen(ci.author); if (longest_author < num) longest_author = num;
-- 1.4.4.1.gad0c3-dirty