Add support for "commit name decorations" to log family of commands
This adds "--decorate" as a log option, which prints out the ref names of any commits that are shown. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:

committed by
Junio C Hamano

parent
a59b276e18
commit
ca135e7acc
21
log-tree.c
21
log-tree.c
@ -4,6 +4,8 @@
|
||||
#include "log-tree.h"
|
||||
#include "reflog-walk.h"
|
||||
|
||||
struct decoration name_decoration = { "object names" };
|
||||
|
||||
static void show_parents(struct commit *commit, int abbrev)
|
||||
{
|
||||
struct commit_list *p;
|
||||
@ -13,6 +15,23 @@ static void show_parents(struct commit *commit, int abbrev)
|
||||
}
|
||||
}
|
||||
|
||||
static void show_decorations(struct commit *commit)
|
||||
{
|
||||
const char *prefix;
|
||||
struct name_decoration *decoration;
|
||||
|
||||
decoration = lookup_decoration(&name_decoration, &commit->object);
|
||||
if (!decoration)
|
||||
return;
|
||||
prefix = " (";
|
||||
while (decoration) {
|
||||
printf("%s%s", prefix, decoration->name);
|
||||
prefix = ", ";
|
||||
decoration = decoration->next;
|
||||
}
|
||||
putchar(')');
|
||||
}
|
||||
|
||||
/*
|
||||
* Search for "^[-A-Za-z]+: [^@]+@" pattern. It usually matches
|
||||
* Signed-off-by: and Acked-by: lines.
|
||||
@ -136,6 +155,7 @@ void show_log(struct rev_info *opt, const char *sep)
|
||||
fputs(diff_unique_abbrev(commit->object.sha1, abbrev_commit), stdout);
|
||||
if (opt->parents)
|
||||
show_parents(commit, abbrev_commit);
|
||||
show_decorations(commit);
|
||||
putchar(opt->diffopt.line_termination);
|
||||
return;
|
||||
}
|
||||
@ -240,6 +260,7 @@ void show_log(struct rev_info *opt, const char *sep)
|
||||
printf(" (from %s)",
|
||||
diff_unique_abbrev(parent->object.sha1,
|
||||
abbrev_commit));
|
||||
show_decorations(commit);
|
||||
printf("%s",
|
||||
diff_get_color(opt->diffopt.color_diff, DIFF_RESET));
|
||||
putchar(opt->commit_format == CMIT_FMT_ONELINE ? ' ' : '\n');
|
||||
|
Reference in New Issue
Block a user