aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2006-11-28 22:29:18 -0800
committerJunio C Hamano <junkio@cox.net>2006-11-28 22:32:23 -0800
commitab3bb800b46cf66249ead9e13c22cbc48d790c9a (patch)
tree2e7df5eec59b7ad128bff0217ec6f47042d72db2
parentf73da29fa2be2f4bbda86e006b743b8121bdbf19 (diff)
downloadgit-ab3bb800b46cf66249ead9e13c22cbc48d790c9a.tar.gz
git-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.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/builtin-blame.c b/builtin-blame.c
index 066dee743..53fed4501 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;