Subject: Re: [PATCH v2 1/2] pretty: add X-Change-ID to mail formats

From: "Drew DeVault" <[email-masked]>
Date: Sun, 06 Jul 2025 12:41:50 +0200

On Sun Jul 6, 2025 at 8:20 AM CEST, Aditya Garg wrote:
> I don't think we should add it to email headers. There are many email providers
> which do not allow custom headers in the emails. For example if you are using
> protonmail bridge or any third party protonmail client, the headers are not
> preserved. Similarly, if you are using MS Graph to send emails, headers are
> again not preserved. We should also consider cases when people use Thunderbird,
> Mutt or something similar to send emails, rather than git send-email.

As far as I can tell, this isn't actually true. I looked into it and
protonmail and MS Graph both seem to support custom headers. I have also
verified that mutt will preserve the header when you edit the email
normally with mutt -H. If you're sending an email with Thunderbird, none
of these things are preserved (including From, Subject, etc), and the
best you can hope for is attaching the patch, in which case X-Change-ID
will be preserved unmolested.

Moreover, if the change-id header is lost, it's not the end of the
world, it just degrades to the present-day state of affairs, in which
you cannot use it to associate patches with prior versions.

> The headers IMO should include the standard ones like From, Subject etc.
> Custom headers should be a part of body, just like we do Signed-off-by, Link etc.

Trailers and headers are different. The main point of the change-id
discussion earlier on this list was to avoid adding trailers.

I also suspect that if we added this as an "inbody header" that older
git implementations would ingest the X-Change-ID header into the commit
message, which is not a desirable behavior.

IMO the right way forward is to use a mail header.