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

format-patch: "magic" mbox timestamp

From
Brandon Richardson <brandon1024.br@gmail.com>
Date
Nov 10, 2020, 21:54 UTC
Message-ID
<CAETBDP6d8UwiJEF_pX0p=xLG79pwHeEtectmOnjPiUpjUCPaqw@mail.gmail.com>
Hi all,

After submitting a patch internally within our organization today, I was looking through the `format-patch` output and was curious to see the strange timestamp on the "From" line. At first glance I thought the parent commit timestamp might have been off, but that wasn't the case. I thought it might be a bug but quickly noticed the fixed timestamp string in `log-tree`.

Reading through the various revisions of `log-tree.c` didn't answer many questions either, until I turned to the docs and read:

> 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 [...]

I find this pretty interesting, and would like to hear more from those that introduced change. It looks like this was first introduced in 3eefc18917 (Tentative built-in format-patch., 2006-04-18), albeit with a different "magic" timestamp, and then changed to its current timestamp value in 698ce6f87e (fmt-patch: Support --attach, 2006-05-20).

Please correct me if I'm wrong, but I'm assuming the "UNIX mailbox format" referenced in the docs refers to the mbox database format described in appendix A of RFC-4155. If so, since we use a commit id in place of the sender email address, would that itself be sufficient to indicate that the output isn't from a real mailbox? A commit id will never match the addr-spec in RFC-2822, so I figure that anyone looking at `format-patch` output could safely assume that it did not originate from a mailbox.

I could see this as a good opportunity to use a more relevant timestamp, perhaps the commit timestamp of the first patch in the series.

Next: Johannes Schindelin
Message 1 of 4 in “format-patch: "magic" mbox timestamp”
  1. Brandon RichardsonNov 10, 2020
  2. Johannes SchindelinNov 10, 2020
  3. Junio C HamanoNov 10, 2020
  4. Junio C HamanoNov 10, 2020

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.