Laszlo Ersek <lersek@xxxxxxxxxx> writes: > On 09/23/14 22:02, Junio C Hamano wrote: >> Laszlo Ersek <lersek@xxxxxxxxxx> writes: >> >>> On 09/23/14 20:54, Junio C Hamano wrote: >>> ... >>>> SMTP transport may be CRLF-unsafe, so I have a suspicion that it may >>>> turn out that what you are trying to do might be an equilvalent of >>>> >>>> git format-patch ... | >>>> # first lose all \r\n >>>> dos2unix | >>>> # then make everything \r\n >>>> unix2dos | >>>> # and apply >>>> git am >>>> >>>> which is not workable in the first place. I dunno. >>> >>> I agree with your analysis. It is indeed the MTA... >>>> - CR and LF MUST only occur together as CRLF; they MUST NOT appear >>>> independently in the body. >>> >>> But why is this situation "not workable"? The same happens with *all* >>> patches that people mail around, it's just not visible to them, because >>> git-am strips all CRs indiscriminately. >> >> It is not "git am" or "git apply" that "strips all CRs >> indiscriminately". I just tried to apply 0001-add-f2 without >> letting your MTA/MUA corrupt it on "master" branch in the repository >> you prepared that patch from, i.e. >> >> git checkout master^0 ;# go back >> git am 0001-add-f2* ;# apply that "+hello world\r\n" patch >> git diff branch ;# nothing > > When you did this, was am.keepcr=true in effect? I actually briefly scratched my head but realized when I saw it work "as expected" without me passing "--keep-cr" to "am" myself. But I did that experiment in the repository created by following your reproduction recipe, in which it had these: git config core.whitespace cr-at-eol git config am.keepcr true so yes I had keepcr set. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html