From: George Dunlap Date: Wed, 18 Dec 2019 12:15:31 GMT Subject: Re: git-am doesn't strip CRLF line endings when the mbox is base64-encoded Message-ID: In-Reply-To: On 12/18/19 11:42 AM, George Dunlap wrote: > Using git 2.24.0 from Debian testing. > > It seems that git-am will strip CRLF endings from mails before applying > patches when the mail isn't encoded in any way. It will also decode > base64-encoded mails. But it won't strip CRLF endings from > base64-encoded mails. > > Attached are two mbox files for two different recent series. > plainenc.am applies cleanly with `git am`, while base64enc.am doesn't. > > Poking around the man pages, it looks like part of the issue might be > that the CRLF stripping is done in `git mailsplit`, before the base64 > encoding, rather than after. Poking around -- it looks like the CRLF stripping would be better done in `git mailinfo` after the decoding. Also, this can *almost* be worked around using hooks -- there's an `applypatch-msg` hook which can strip the CLRFs from the commit message, but no hook (AFAICT) corresponding `applypatch-patch` which is run on the patch itself before being applied. -George