git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH for-maint] apply: gitdiff_verify_name(): accept "/dev/null\r"

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 23, 2014, 20:02 UTC
Message-ID
<xmqqsijihzrb.fsf@gitster.dls.corp.google.com>
In-Reply-To
<5421CAA6.3040107@redhat.com>
Laszlo Ersek <lersek@redhat.com> writes:
Show 22 quoted lines
> 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
> Another question I had about gitdiff_verify_name() -- what ensures there
> that the memcmp(), with the fixed size of 9 bytes,...
That may be worth fixing.
Previous: Laszlo ErsekNext: Laszlo Ersek
Message 8 of 15 in “apply: gitdiff_verify_name(): accept "/dev/null\r"”
  1. apply: gitdiff_verify_name(): accept "/dev/null\r"Laszlo Ersek, Sep 23, 2014
  2. Junio C HamanoSep 23, 2014
  3. Laszlo ErsekSep 23, 2014
  4. Junio C HamanoSep 23, 2014
  5. Laszlo ErsekSep 23, 2014
  6. Junio C HamanoSep 23, 2014
  7. Laszlo ErsekSep 23, 2014
  8. Junio C HamanoSep 23, 2014
  9. Laszlo ErsekSep 23, 2014
  10. Junio C HamanoSep 23, 2014
  11. Laszlo ErsekSep 23, 2014
  12. Junio C HamanoSep 23, 2014
  13. Laszlo ErsekSep 24, 2014
  14. Junio C HamanoSep 24, 2014
  15. Junio C HamanoSep 23, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.