diff options
author | Jeff King <peff@peff.net> | 2011-12-16 06:40:24 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-12-16 13:00:15 -0800 |
commit | cd1957f5fc6ecc5ae557246126d9e74c029ccd61 (patch) | |
tree | 0efe0b7c1d87b3c038fd55696a53a2a76db30148 /pretty.c | |
parent | 7b6c5836cf02999955b68c79f1cf2d13040acbc3 (diff) | |
download | git-cd1957f5fc6ecc5ae557246126d9e74c029ccd61.tar.gz |
pretty: give placeholders to reflog identityjk/pretty-reglog-ent
When doing a reflog walk, you can get some information about
the reflog (such as the subject line), but not the identity
information (i.e., name and email).
Let's make those available, mimicing the options for author
and committer identity.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'pretty.c')
-rw-r--r-- | pretty.c | 25 |
1 files changed, 25 insertions, 0 deletions
@@ -822,6 +822,23 @@ static void rewrap_message_tail(struct strbuf *sb, c->indent2 = new_indent2; } +static int format_reflog_person(struct strbuf *sb, + char part, + struct reflog_walk_info *log, + enum date_mode dmode) +{ + const char *ident; + + if (!log) + return 2; + + ident = get_reflog_ident(log); + if (!ident) + return 2; + + return format_person_part(sb, part, ident, strlen(ident), dmode); +} + static size_t format_commit_one(struct strbuf *sb, const char *placeholder, void *context) { @@ -963,6 +980,14 @@ static size_t format_commit_one(struct strbuf *sb, const char *placeholder, if (c->pretty_ctx->reflog_info) get_reflog_message(sb, c->pretty_ctx->reflog_info); return 2; + case 'n': + case 'N': + case 'e': + case 'E': + return format_reflog_person(sb, + placeholder[1], + c->pretty_ctx->reflog_info, + c->pretty_ctx->date_mode); } return 0; /* unknown %g placeholder */ case 'N': |