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

Re: bug report: cover letter is inheriting last patch's message ID with send-email

From
Junio C Hamano <gitster@pobox.com>
Date
May 17, 2023, 19:01 UTC
Message-ID
<xmqqo7mipyt0.fsf@gitster.g>
In-Reply-To
<CAJoAoZ=GGgjGOeaeo6RFBO7=6msdRf-Ze6XcnL04K5ugupLUJA@mail.gmail.com>
Emily Shaffer <nasamuffin@google.com> writes:
Show 35 quoted lines
> Following is a report from inside of Google:
>
> **What did you do before the bug happened? (Steps to reproduce your issue)**
>
> ```
> # With the attached patches, where all of the patches have a
> # Message-Id but the cover letter doesn't.
> git send-email *.patch
> ```
>
> Specifically, you can see me doing it:
>
> ```
> $ git send-email *.patch
> 0000-cover-letter.patch
> 0001-dt-bindings-interrupt-controller-arm-gic-v3-Add-quir.patch
> ...
> 0006-arm64-dts-mediatek-mt8195-Add-mediatek-gicr-save-qui.patch
> To whom should the emails be sent (if anyone)?
> Message-ID to be used as In-Reply-To for the first email (if any)?
> (mbox) Adding cc: Douglas Anderson <dianders@chromium.org> from line
> 'From: Douglas Anderson <dianders@chromium.org>'
>
> From: Douglas Anderson <dianders@chromium.org>
> To:
> Cc: Douglas Anderson <dianders@chromium.org>
> Subject: [PATCH 0/6] irqchip/gic-v3: Disable pseudo NMIs on Mediatek
> Chromebooks w/ bad FW
> Date: Thu, 11 May 2023 15:25:55 -0700
> Message-ID: <20230511151719.6.Ia0b6ebbaa351e3cd67e201355b9ae67783c7d718@changeid>
> ```
>
> If you look at `0000-cover-letter.patch` you can see that it has no
> Message-ID, but the above clearly shows that the cover letter is being
> sent with a Message-ID (and the one from the last patch).

It is correct that Message-ID needs to be assigned by send-email if the outgoing message lacks one. I am not sure what is meant by "from the last patch". Do you mean that Message-ID exists in 0006-*.patch but not in 0000-cover-letter.patch [*]? I suspect that is the root cause of the problem; if 000[1-6]-*.patch already has their own Message-ID: because --thread is used when running git-format-patch, they would also have In-Reply-To: and References:, but there is no way for them to reference 0000-cover-letter.patch (because format-patch did not get a chance to generate Message-ID to it), is there?

Is this because format-patch was used without --cover-letter but with --thread to prepare 000[1-6]*.patch and the cover letter was created separately, or something?

The simplest fix I can think of is to stop using Message-ID related options when running format-patch, and let send-email do the threading. It would avoid problems coming from mixing output from multiple format-patch runs.

[Footnote]
 * As a reproduction recipe, the report should tell how these files
   were prepared (format-patch with what arguments to get there).
Previous: Emily ShafferNext: Junio C Hamano
Message 2 of 10 in “bug report: cover letter is inheriting last patch's message ID with send-email”
  1. Emily ShafferMay 17, 2023
  2. Junio C HamanoMay 17, 2023
  3. Junio C HamanoMay 17, 2023
  4. Doug AndersonMay 17, 2023
  5. Junio C HamanoMay 17, 2023
  6. Michael StrawbridgeMay 18, 2023
  7. Junio C HamanoMay 18, 2023
  8. Doug AndersonMay 17, 2023
  9. Junio C HamanoMay 17, 2023
  10. Doug AndersonMay 17, 2023

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.