1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-10-28 21:07:52 +01:00

shortlog: implement --group=author in terms of --group=<format>

Instead of handling SHORTLOG_GROUP_AUTHOR separately, reimplement it as
a special case of the new `--group=<format>` mode, where the author mode
is a shorthand for `--group='%aN <%aE>'.

Note that we still need to keep the SHORTLOG_GROUP_AUTHOR enum since it
has a different meaning in `read_from_stdin()`, where it is still used
for a different purpose.

Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Taylor Blau 2022-10-24 14:55:44 -04:00 committed by Junio C Hamano
parent 10538e2a62
commit 9c10d4ff24

View file

@ -253,15 +253,6 @@ void shortlog_add_commit(struct shortlog *log, struct commit *commit)
} }
oneline_str = oneline.len ? oneline.buf : "<none>"; oneline_str = oneline.len ? oneline.buf : "<none>";
if (log->groups & SHORTLOG_GROUP_AUTHOR) {
strbuf_reset(&ident);
format_commit_message(commit,
log->email ? "%aN <%aE>" : "%aN",
&ident, &ctx);
if (!HAS_MULTI_BITS(log->groups) ||
strset_add(&dups, ident.buf))
insert_one_record(log, ident.buf, oneline_str);
}
if (log->groups & SHORTLOG_GROUP_COMMITTER) { if (log->groups & SHORTLOG_GROUP_COMMITTER) {
strbuf_reset(&ident); strbuf_reset(&ident);
format_commit_message(commit, format_commit_message(commit,
@ -383,6 +374,10 @@ void shortlog_init(struct shortlog *log)
void shortlog_finish_setup(struct shortlog *log) void shortlog_finish_setup(struct shortlog *log)
{ {
if (log->groups & SHORTLOG_GROUP_AUTHOR)
string_list_append(&log->format,
log->email ? "%aN <%aE>" : "%aN");
string_list_sort(&log->trailers); string_list_sort(&log->trailers);
} }