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

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51733): https://edk2.groups.io/g/devel/message/51733
Mute This Topic: https://groups.io/mt/66206907/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to