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

Re: [bug (maybe)] Applying patch with '---'

From
Chris Packham <judge.packham@gmail.com>
Date
Apr 1, 2015, 08:06 UTC
Message-ID
<CAFOYHZDYcF0=kH=L2CZ5=4DBUaGoJihVE9J=s=uuoJQhGGd5yA@mail.gmail.com>
In-Reply-To
<xmqqy4mcmkt2.fsf@gitster.dls.corp.google.com>
On Wed, Apr 1, 2015 at 7:20 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 18 quoted lines
> Chris Packham <judge.packham@gmail.com> writes:
>
>> So I was just sent a patch generated with 'git format-patch' that 'git
>> am' fails to apply correctly. It applies but part of the commit
>> message is lost.
>>
>> The problem is that the commit message has lines like
>>
>> --- Foo happened
>>     did some things to handle Foo
>> --- Bar happened
>>     Still processing update from Foo which led to a crash
>>
>> git mailinfo seems to discard everything after the first '--- Blah'.
>
> Yes, this is well known.  So is a line that begins with "diff --git"
> makes mailinfo to guess that it is the end of the log message.
>
So it looks like code in mailinfo.c to handle
  --- a/file
  +++ b/file
Also interprets
  --- Blah
  more text

as the start of the patch portion. Perhaps mailinfo could search for both the --- and +++ lines before deciding it's the patch portion has started. Or search for "diff -" first and work backwards towards to drop text up to the "---".

Show 11 quoted lines
>> ... I know git
>> mailinfo shouldn't handle garbage input but I guess the problem I have
>> is that the patch was generated by git format-patch ...
>
> Whatever message you write format-patch emits without escaping, so
> "patch was generated by format-patch" does not guarantee anything,
> unfortunately.  A related similar issue is that a line that begins
> with "From " may be corrupted into a line that begins with ">From "
> by the time the message hits your mailbox.  These are unfortunately
> something you have to know and long-time users learned to avoid
> doing so unconsciously ;-).

So perhaps the newer users need some training wheels built into format-patch :). It'd actually annoy me if it was too intrusive as I actually use --- as a light weight alternative to git-notes for commentary I want to include with a patch submission. But a message saying "if you send this verbatim commit message text will be lost" would at least let the user know that something needs attention .

Previous: Junio C Hamano
Message 3 of 3 in “[bug (maybe)] Applying patch with '---'”
  1. Chris PackhamApr 1, 2015
  2. Junio C HamanoApr 1, 2015
  3. Chris PackhamApr 1, 2015

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.