diff options
author | Junio C Hamano <junkio@cox.net> | 2006-11-28 22:29:18 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-11-28 22:32:23 -0800 |
commit | ab3bb800b46cf66249ead9e13c22cbc48d790c9a (patch) | |
tree | 2e7df5eec59b7ad128bff0217ec6f47042d72db2 | |
parent | Increase length of function name buffer (diff) | |
download | tgif-ab3bb800b46cf66249ead9e13c22cbc48d790c9a.tar.xz |
git blame -C: fix output format tweaks when crossing file boundary.
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>
-rw-r--r-- | builtin-blame.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/builtin-blame.c b/builtin-blame.c index 066dee743e..53fed4501a 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; |