On Mon, Sep 09, 2019 at 09:05:45AM -0500, Eric Blake wrote:
> > But as you can already read from the manual, the overall behaviour of git
> > regarding a separate "From:" line in the email body was intended solely for
> > the use case sender != author. So in practice (at least in my git version)
> > git
> > always makes a raw string comparison between sender (name and email) string
> > and author string and only adds the separate From: line to the body if they
> > differ.
> >
> > Hence also "git format-patch --from=" only works here if you use a
> > different
> > author string (name and email) there, otherwise on a perfect string match
> > it
> > is simply ignored and you end up with only one "From:" in the email header.
>
> git folks:
>
> How hard would it be to improve 'git format-patch'/'git send-email' to
> have an option to ALWAYS output a From: line in the body, even when the
> sender is the author, for the case of a mailing list that munges the
> mail headers due to DMARC/DKIM reasons?
It wouldn't be very hard to ask format-patch to just handle this
unconditionally. Something like:
diff --git a/pretty.c b/pretty.c
index e4ed14effe..9cf79d7874 100644
--- a/pretty.c
+++ b/pretty.c
@@ -451,7 +451,8 @@ void pp_user_info(struct pretty_print_context *pp,
map_user(pp->mailmap, &mailbuf, &maillen, &namebuf, &namelen);
if (cmit_fmt_is_mail(pp->fmt)) {
- if (pp->from_ident && ident_cmp(pp->from_ident, &ident)) {
+ if (pp->always_use_in_body_from ||
+ (pp->from_ident && ident_cmp(pp->from_ident, &ident))) {
struct strbuf buf = STRBUF_INIT;
strbuf_addstr(&buf, "From: ");
but most of the work would be ferrying that option from the command line
down to the pretty-print code.
That would work in conjunction with "--from" to avoid a duplicate. It
might require send-email learning about the option to avoid doing its
own in-body-from management. If you only care about send-email, it might
be easier to just add the option there.
-Peff