aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2006-10-05 14:06:22 -0700
committerJunio C Hamano <junkio@cox.net>2006-10-05 15:05:41 -0700
commiteb93b7240665e35ecc0ed72098e1a5b3352bdc17 (patch)
tree5e5d5bf49f0b99d64c26053f948f82b1e38e217c
parent506e49ff9ff2b5be34b2bdf15c88038b00d3ef66 (diff)
downloadgit-eb93b7240665e35ecc0ed72098e1a5b3352bdc17.tar.gz
git-eb93b7240665e35ecc0ed72098e1a5b3352bdc17.tar.xz
git-blame: --show-name (and -f)
The new option makes the command's native output format show the filename even when there were no renames in its history, to make it simpler for Porcelains to parse its output. Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r--blame.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/blame.c b/blame.c
index 394b5c361..d830b293f 100644
--- a/blame.c
+++ b/blame.c
@@ -752,7 +752,7 @@ int main(int argc, const char **argv)
const char *buf;
int max_digits;
int longest_file, longest_author;
- int found_rename;
+ int show_name = 0;
const char *prefix = setup_git_directory();
git_config(git_default_config);
@@ -786,6 +786,11 @@ int main(int argc, const char **argv)
}
usage(blame_usage);
}
+ if (!strcmp(argv[i], "-f") ||
+ !strcmp(argv[i], "--show-name")) {
+ show_name = 1;
+ continue;
+ }
if (!strcmp(argv[i], "--")) {
options = 0;
continue;
@@ -853,7 +858,6 @@ int main(int argc, const char **argv)
longest_file = 0;
longest_author = 0;
- found_rename = 0;
for (i = 0; i < num_blame_lines; i++) {
struct commit *c = blame_lines[i];
struct util_info *u;
@@ -861,8 +865,8 @@ int main(int argc, const char **argv)
c = initial;
u = c->util;
- if (!found_rename && strcmp(filename, u->pathname))
- found_rename = 1;
+ if (!show_name && strcmp(filename, u->pathname))
+ show_name = 1;
if (longest_file < strlen(u->pathname))
longest_file = strlen(u->pathname);
get_commit_info(c, &ci);
@@ -886,7 +890,7 @@ int main(int argc, const char **argv)
i+1);
}
else {
- if (found_rename)
+ if (show_name)
printf(" %-*.*s", longest_file, longest_file,
u->pathname);
printf(" (%-*.*s %10s %*d) ",