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

Re: [BUG] git-am silently applying patches incorrectly

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 4, 2011, 17:27 UTC
Message-ID
<7vvczy7q4c.fsf@alter.siamese.dyndns.org>
In-Reply-To
<4D711639.4070706@colin.guthr.ie>
Colin Guthrie <gmane@colin.guthr.ie> writes:
Show 6 quoted lines
>> If you just send the output of "git format-patch" untouched as an
>> attachment you can expect problems.
>
> Wow! I've never heard of this before... So you're saying it's actually
> invalid to do a git format-patch and then a git am on the files it
> generates?
I don't think you understand what Drew is saying.

The output from format-patch mimics mbox format already; it specifically was designed so that "format-patch --stdout | am" pipeline would work without your doing anything funky.

If you include the output from format-patch in your MUA, however, the message your MUA will send out would look like:

 * From: ... you ...
 * Subject: Hi, I am sending a patch (the message typed to your MUA)
 * Date: ... date ...
 % From <object name> <date looking format-patch signature string>
 % From: ... author name output by format patch
 % Subject: [PATCH] ... first paragraph from commit log message ...
 . The second paragraph and what follows...
 . ---
 . patch

In the above illustration, the lines marked with "*" are what your MUA would add as the header, and the ones marked with '%' are the headers format-patch placed to make its output look like mbox. You are supposed to move the "Subject: " line marked with '%' to the Subject input field of your MUA and drop all other lines marked with '%'.

Drew is talking about the problem it causes to the recipient if you did not do so, and left '%' lines in your MUA.

Previous: Colin GuthrieNext: Junio C Hamano
Message 4 of 34 in “[BUG] git-am silently applying patches incorrectly”
  1. Colin GuthrieMar 4, 2011
  2. Drew NorthupMar 4, 2011
  3. Colin GuthrieMar 4, 2011
  4. Junio C HamanoMar 4, 2011
  5. Junio C HamanoMar 4, 2011
  6. Junio C HamanoMar 4, 2011
  7. Junio C HamanoMar 4, 2011
  8. Linus TorvaldsMar 4, 2011
  9. Junio C HamanoMar 4, 2011
  10. Alexander MiselerMar 4, 2011
  11. Junio C HamanoMar 4, 2011
  12. Colin GuthrieMar 4, 2011
  13. Junio C HamanoMar 4, 2011
  14. Junio C HamanoMar 4, 2011
  15. Colin GuthrieMar 5, 2011
  16. Junio C HamanoMar 6, 2011
  17. Junio C HamanoMar 6, 2011
  18. Jonathan NiederMar 6, 2011
  19. Junio C HamanoMar 6, 2011
  20. Colin GuthrieMar 7, 2011
  21. Alexander MiselerMar 4, 2011
  22. Junio C HamanoMar 5, 2011
  23. Junio C HamanoMar 4, 2011
  24. Drew NorthupMar 4, 2011
  25. 0/2 i18n: add ngettext stubJonathan Nieder, Mar 9, 2011
  26. 1/2 i18n: add stub ngettext implementationJonathan Nieder, Mar 9, 2011
  27. 2/2 i18n: avoid conflict with ngettext from libintlJonathan Nieder, Mar 9, 2011
  28. Junio C HamanoMar 9, 2011
  29. Jonathan NiederMar 9, 2011
  30. Junio C HamanoMar 9, 2011
  31. i18n: add stub Q_() wrapper for ngettextJonathan Nieder, Mar 10, 2011
  32. Junio C HamanoMar 10, 2011
  33. Ævar Arnfjörð BjarmasonMar 10, 2011
  34. Ævar Arnfjörð BjarmasonMar 10, 2011

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.