diff options
author | Jeff King <peff@peff.net> | 2024-03-19 20:30:44 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2024-03-19 17:54:15 -0700 |
commit | d5a90d6319aeb6cb3f0b795156c4c2259373424f (patch) | |
tree | acc62eed6a4143f217d5bcc03fa6d463045fbeec /builtin | |
parent | 69aff6200c51cc8a91111b80fbfb84792ce0908c (diff) | |
download | git-d5a90d6319aeb6cb3f0b795156c4c2259373424f.tar.gz |
pretty: drop print_email_subject flag
With one exception, the print_email_subject flag is set if and only if
the commit format is email based:
- in make_cover_letter() we set it along with CMIT_FMT_EMAIL
explicitly
- in show_log(), we set it if cmit_fmt_is_mail() is true. That covers
format-patch as well as "git log --format=email" (or mboxrd).
The one exception is "rev-list --format=email", which somewhat
nonsensically prints the author and date as email headers, but no
subject, like:
$ git rev-list --format=email HEAD
commit 64fc4c2cdd4db2645eaabb47aa4bac820b03cdba
From: Jeff King <peff@peff.net>
Date: Tue, 19 Mar 2024 19:39:26 -0400
this is the subject
this is the body
It's doubtful that this is a useful format at all (the "commit" lines
replace the "From" lines that would make it work as an actual mbox).
But I think that printing the subject as a header (like this patch does)
is the least surprising thing to do.
So let's drop this field, making the code a little simpler and easier to
reason about. Note that we do need to set the "rev" field of the
pretty_print_context in rev-list, since that is used to check for
subject_prefix, etc. It's not possible to set those fields via rev-list,
so we'll always just print "Subject: ". But unless we pass in our
rev_info, fmt_output_email_subject() would segfault trying to figure it
out.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/log.c | 1 | ||||
-rw-r--r-- | builtin/rev-list.c | 1 |
2 files changed, 1 insertions, 1 deletions
diff --git a/builtin/log.c b/builtin/log.c index 25ceefa255..de1c1cbec1 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -1364,7 +1364,6 @@ static void make_cover_letter(struct rev_info *rev, int use_separate_file, pp.fmt = CMIT_FMT_EMAIL; pp.date_mode.type = DATE_RFC2822; pp.rev = rev; - pp.print_email_subject = 1; pp.encode_email_headers = rev->encode_email_headers; pp_user_info(&pp, NULL, &sb, committer, encoding); prepare_cover_text(&pp, description_file, branch_name, &sb, diff --git a/builtin/rev-list.c b/builtin/rev-list.c index b3f4783858..98024b5614 100644 --- a/builtin/rev-list.c +++ b/builtin/rev-list.c @@ -219,6 +219,7 @@ static void show_commit(struct commit *commit, void *data) ctx.fmt = revs->commit_format; ctx.output_encoding = get_log_output_encoding(); ctx.color = revs->diffopt.use_color; + ctx.rev = revs; pretty_print_commit(&ctx, commit, &buf); if (buf.len) { if (revs->commit_format != CMIT_FMT_ONELINE) |