public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Leif Lindholm" <leif.lindholm@linaro.org>
To: devel@edk2.groups.io, nathaniel.l.desimone@intel.com
Subject: Re: [edk2-devel] Public-Service-Announcement: send-email issues with Git 2.22.0+
Date: Wed, 4 Dec 2019 12:13:34 +0000	[thread overview]
Message-ID: <20191204121334.GL7359@bivouac.eciton.net> (raw)
In-Reply-To: <02A34F284D1DA44BB705E61F7180EF0AB5C14981@ORSMSX114.amr.corp.intel.com>

Hi Nate,

On Wed, Dec 04, 2019 at 04:31:04 +0000, Nate DeSimone wrote:
> I have been dealing with a very frustrating issue recently where all
> of my "CR LF" line endings get erroneously converted into "LF LF"
> once I send my patch to the mailing list. I have discovered the root
> cause for this problem. The issue is the following commit to git
> itself:
> 
> https://github.com/git/git/commit/5983ddc165221c3ec2a4299b65cfb2ecc1ce7765
> 
> This change is present in git version 2.20.0 or later, per the release notes:
> 
> https://github.com/git/git/blob/v2.22.0/Documentation/RelNotes/2.22.0.txt
> 
> With this change, if you leave sendemail.transferEncoding set to the
> default value of "auto", then git will inspect the body of your
> email. If it finds a '\r' character in the message, then it converts
> the entire message content into Quoted-Printable encoding. It
> appears that when groups.io converts the QP encoding back to text
> format, the '\r' characters somehow become '\n'. To workaround this
> make sure to set the following configuration option:
> 
> git config --global sendemail.transferEncoding 8bit

Thanks for this investigation.

Just one warning to readers - while convenient, --global may not be
the correct course of action for all developers.

> This will prevent send-email from converting the message into QP
> encoding, allowing the patches to pass through to the mailing list
> unharmed. Hope that saves other people a few hours of frustration.

Could you possibly submit a patch adding this setting to this table
https://github.com/tianocore/edk2/blob/master/BaseTools/Scripts/SetupGit.py#L54
such that it gets set automatically by that script?
This way it's conveniently configured per-tree with the other known
good default settings.

I got curious and looked into what the git documentation says about
this option.

For 2.9.1 (the first search hit, July 2016) it says:
"Default is the value of the sendemail.transferEncoding configuration
value; if that is unspecified, git will use 8bit and not add a
Content-Transfer-Encoding header."

For 2.24.0 (the current release, November 2019) it says:
"Default is the value of the sendemail.transferEncoding configuration
value; if that is unspecified, default to auto."

So a user of old git versions might not even have tripped over
this...

Best Regards,

Leif

  parent reply	other threads:[~2019-12-04 12:13 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-04  4:31 Public-Service-Announcement: send-email issues with Git 2.22.0+ Nate DeSimone
2019-12-04  5:04 ` Liming Gao
2019-12-04  9:32 ` [edk2-devel] " Laszlo Ersek
2019-12-04 12:13 ` Leif Lindholm [this message]
2019-12-06 18:17   ` Nate DeSimone

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-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191204121334.GL7359@bivouac.eciton.net \
    --to=devel@edk2.groups.io \
    /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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox