From: Zev Weiss <zev@bewilderbeest.net>
To: git@vger.kernel.org
Cc: Zev Weiss <zev@bewilderbeest.net>, Emma Brooks <me@pluvano.com>,
Hamza Mahfooz <someguy@effective-light.com>,
Junio C Hamano <gitster@pobox.com>
Subject: [PATCH 4/5] pretty: Add name_and_address_only parameter
Date: Thu, 19 Jan 2023 14:38:57 -0800 [thread overview]
Message-ID: <20230119223858.29262-5-zev@bewilderbeest.net> (raw)
In-Reply-To: <20230119223858.29262-1-zev@bewilderbeest.net>
This is meant to be used with pp_user_info() when using it to format
email recipients generated by --to-cmd/--cc-cmd. When set it omits
the leading 'From: ', trailing linefeed, and the date suffix, and
additionally will return the input string unmodified if
split_ident_line() can't parse it (e.g. for a bare email address).
Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
---
pretty.c | 15 ++++++++++++---
pretty.h | 1 +
2 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/pretty.c b/pretty.c
index 1e1e21878c83..e6798fadc107 100644
--- a/pretty.c
+++ b/pretty.c
@@ -509,8 +509,11 @@ void pp_user_info(struct pretty_print_context *pp,
return;
line_end = strchrnul(line, '\n');
- if (split_ident_line(&ident, line, line_end - line))
+ if (split_ident_line(&ident, line, line_end - line)) {
+ if (pp->name_and_address_only)
+ strbuf_addstr(sb, line);
return;
+ }
mailbuf = ident.mail_begin;
maillen = ident.mail_end - ident.mail_begin;
@@ -538,7 +541,8 @@ void pp_user_info(struct pretty_print_context *pp,
namelen = pp->from_ident->name_end - namebuf;
}
- strbuf_addstr(sb, "From: ");
+ if (!pp->name_and_address_only)
+ strbuf_addstr(sb, "From: ");
if (pp->encode_email_headers &&
needs_rfc2047_encoding(namebuf, namelen)) {
add_rfc2047(sb, namebuf, namelen,
@@ -558,7 +562,9 @@ void pp_user_info(struct pretty_print_context *pp,
if (max_length <
last_line_length(sb) + strlen(" <") + maillen + strlen(">"))
strbuf_addch(sb, '\n');
- strbuf_addf(sb, " <%.*s>\n", (int)maillen, mailbuf);
+ strbuf_addf(sb, " <%.*s>", (int)maillen, mailbuf);
+ if (!pp->name_and_address_only)
+ strbuf_addch(sb, '\n');
} else {
struct strbuf id = STRBUF_INIT;
enum grep_header_field field = GREP_HEADER_FIELD_MAX;
@@ -582,6 +588,9 @@ void pp_user_info(struct pretty_print_context *pp,
strbuf_release(&id);
}
+ if (pp->name_and_address_only)
+ return;
+
switch (pp->fmt) {
case CMIT_FMT_MEDIUM:
strbuf_addf(sb, "Date: %s\n",
diff --git a/pretty.h b/pretty.h
index f34e24c53a49..306666e99294 100644
--- a/pretty.h
+++ b/pretty.h
@@ -39,6 +39,7 @@ struct pretty_print_context {
int preserve_subject;
struct date_mode date_mode;
unsigned date_mode_explicit:1;
+ unsigned name_and_address_only:1;
int print_email_subject;
int expand_tabs_in_log;
int need_8bit_cte;
--
2.39.1.236.ga8a28b9eace8
next prev parent reply other threads:[~2023-01-19 23:00 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-19 22:38 [PATCH 0/5] format-patch: Add --{to,cc}-cmd support Zev Weiss
2023-01-19 22:38 ` [PATCH 1/5] t4014: Add test checking cover-letter To header Zev Weiss
2023-02-01 23:52 ` Calvin Wan
2023-01-19 22:38 ` [PATCH 2/5] log: Refactor duplicated code to headerize recipient lists Zev Weiss
2023-01-25 2:11 ` Junio C Hamano
2023-01-19 22:38 ` [PATCH 3/5] log: Push to/cc handling down into show_log() Zev Weiss
2023-01-20 0:33 ` Junio C Hamano
2023-02-01 23:52 ` Calvin Wan
2023-01-19 22:38 ` Zev Weiss [this message]
2023-01-25 2:23 ` [PATCH 4/5] pretty: Add name_and_address_only parameter Junio C Hamano
2023-02-01 23:52 ` Calvin Wan
2023-01-19 22:38 ` [PATCH 5/5] format-patch: Add support for --{to,cc}-cmd flags Zev Weiss
2023-02-01 23:52 ` Calvin Wan
2023-02-01 23:52 ` [PATCH 0/5] format-patch: Add --{to,cc}-cmd support Calvin Wan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230119223858.29262-5-zev@bewilderbeest.net \
--to=zev@bewilderbeest.net \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=me@pluvano.com \
--cc=someguy@effective-light.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).