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

[PATCH 1/5] Documentation: describe the format of messages with inline patches

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Apr 15, 2011, 02:22 UTC
Message-ID
<20110415022202.GB19829@elie>
In-Reply-To
<20110415021100.GA19829@elie>

Add a DISCUSSION section to the "git format-patch" manual to encourage people to send patches in a form that can be applied by "git am" automatically. There are two such forms:

 1. The default form in which most metadata goes in the mail header
    and the message body starts with the patch description;
 2. The snipsnip form in which a message starts with pertinent
    discussion and ends with a patch after a "scissors" mark.

The example requires QP encoding in the "Subject:" header intended for the mailer to give the reader a chance to reflect on that, rather than being startled by it later. By contrast, in-body "From:" and "Subject:" lines should be human-readable and not QP encoded.

Inspired-by: Jim Meyering <jim@meyering.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Improved-by: Junio C Hamano <gitster@pobox.com>
---
 Documentation/git-format-patch.txt |   58 ++++++++++++++++++++++++++++++++++++
 1 files changed, 58 insertions(+), 0 deletions(-)
diff --git a/Documentation/git-format-patch.txt b/Documentation/git-format-patch.txt
index a5525e9..a4a9813 100644
--- a/Documentation/git-format-patch.txt
+++ b/Documentation/git-format-patch.txt
@@ -229,6 +229,64 @@ attachments, and sign off patches with configuration variables.
 ------------
 
 
+DISCUSSION
+----------
+
+The patch produced by 'git format-patch' is in UNIX mailbox format,
+with a fixed "magic" time stamp to indicate that the file is output
+from format-patch rather than a real mailbox, like so:
+
+------------
+From 8f72bad1baf19a53459661343e21d6491c3908d3 Mon Sep 17 00:00:00 2001
+From: Tony Luck <tony.luck@intel.com>
+Date: Tue, 13 Jul 2010 11:42:54 -0700
+Subject: [PATCH] =?UTF-8?q?[IA64]=20Put=20ia64=20config=20files=20on=20the=20?=
+ =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig=20diet?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+arch/arm config files were slimmed down using a python script
+(See commit c2330e286f68f1c408b4aa6515ba49d57f05beae comment)
+
+Do the same for ia64 so we can have sleek & trim looking
+...
+------------
+
+Typically it will be placed in a MUA's drafts folder, edited to add
+timely commentary that should not go in the changelog after the three
+dashes, and then sent as a message whose body starts with "arch/arm
+config files were".  On the receiving end, readers can save
+interesting patches in a UNIX mailbox and apply them with
+linkgit:git-am[1].
+
+When a patch is part of an ongoing discussion, the patch generated by
+'git format-patch' can be tweaked to take advantage of the 'git am
+--scissors' feature.  After your response to the discussion comes a
+line that consists solely of "`-- >8 --`" (scissors and perforation),
+followed by the patch with unnecessary header fields removed:
+
+------------
+...
+> So we should do such-and-such.
+
+Makes sense to me.  How about this patch?
+
+-- >8 --
+Subject: [IA64] Put ia64 config files on the Uwe Kleine-König diet
+
+arch/arm config files were slimmed down using a python script
+...
+------------
+
+When sending a patch this way, most often you are sending your own
+patch, so in addition to the "`From $SHA1 $magic_timestamp`" marker you
+should omit `From:` and `Date:` lines from the patch file.  The patch
+title is likely to be different from the subject of the discussion the
+patch is in response to, so it is likely that you would want to keep
+the Subject: line, like the example above.
+
+
 EXAMPLES
 --------
 
-- 
1.7.5.rc0
Previous: Jonathan NiederNext: Drew Northup
Message 9 of 26 in “remove doubled words, e.g., s/to to/to/, and fix related typos”
  1. remove doubled words, e.g., s/to to/to/, and fix related typosJim Meyering, Apr 13, 2011
  2. Drew NorthupApr 13, 2011
  3. Jim MeyeringApr 13, 2011
  4. Documentation/format-patch: summarize patch-sending workflowJonathan Nieder, Apr 13, 2011
  5. Junio C HamanoApr 13, 2011
  6. Documentation: summarize how format-patch output is consumedJonathan Nieder, Apr 14, 2011
  7. Junio C HamanoApr 14, 2011
  8. 0/5 Documentation/format-patch: more hints on submitting patchesJonathan Nieder, Apr 15, 2011
  9. 1/5 Documentation: describe the format of messages with inline patchesJonathan Nieder, Apr 15, 2011
  10. Drew NorthupApr 15, 2011
  11. Junio C HamanoApr 15, 2011
  12. 2/5 Documentation: explain how to check for patch corruptionJonathan Nieder, Apr 15, 2011
  13. Junio C HamanoApr 15, 2011
  14. Jonathan NiederApr 15, 2011
  15. 3/5 Documentation: hints for sending patches inline with ThunderbirdJonathan Nieder, Apr 15, 2011
  16. 4/5 Documentation: publicize KMail hints for sending patches inlineJonathan Nieder, Apr 15, 2011
  17. Michele BallabioApr 17, 2011
  18. 5/5 Documentation: publicize hints for sending patches with GMailJonathan Nieder, Apr 15, 2011
  19. 6/5 Documentation/format-patch: suggest Toggle Word Wrap add-on for ThunderbirdJohannes Sixt, Apr 15, 2011
  20. Junio C HamanoApr 15, 2011
  21. Michael J GruberApr 15, 2011
  22. Junio C HamanoApr 15, 2011
  23. Jonathan NiederApr 15, 2011
  24. 6/5 Documentation/format-patch: suggest Toggle Word Wrap add-on for ThunderbirdJohannes Sixt, Apr 18, 2011
  25. Jakub NarebskiApr 13, 2011
  26. Junio C HamanoApr 13, 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.