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

[BUG] send-email propagates "In-Reply-To"

From
Marvin Häuser <mhaeuser@posteo.de>
Date
Aug 22, 2021, 09:24 UTC
Message-ID
<4db7759c-2123-533b-9f89-954c07f5832a@posteo.de>
Good day everyone,

"git send-email" propagates the "In-Reply-To" header of the last prior patch with such defined to subsequent patches which do not define such explicitly. I suspect this behaviour is incorrect as I could not find any documentation on this. I'm sorry if this behaviour is actually expected, and would be happy if someone could point me to the appropriate documentation. This was reproduced on Fedora 34 with git 2.33.0 and "--no-thread".

Steps to reproduce:
1. Create two patches, one of which has an "In-Reply-To" field 
("patch-in-reply.patch") and one of which does not 
("patch-no-in-reply.patch").
2. Run "git send-email --dry-run --no-thread patch-in-reply.patch 
patch-no-in-reply.patch"
2.1. Observe the emission of an "In-Reply-To" header for 
"patch-no-in-reply.patch" with no such header.
3. Run "git send-email --dry-run --no-thread patch-no-in-reply.patch 
patch-in-reply.patch"
3.1. Observe the omission of an "In-Reply-To" header for 
"patch-no-in-reply.patch" with no such header.

Expected behaviour: With no threading and no other sorts of explicitly defining the "In-Reply-To" header, I expect to always observe the behaviour of 3.1., and to not observe the behaviour of 2.1.

The "issue" is "in_reply_to" is overwritten here [1], which is the main loop worker to process all files passed to send-email [2], but it is not restored for subsequent patches. Unless required otherwise (e.g. send-email threading), it should be restored to its default value for each patch I believe.

I wrote a quick patch to adjust 2.1. to 3.1. [3]. I have no time right now to review the submission guidelines (and thus did not submit the patch "properly" yet), but I will try to get to that tonight or some time next week. If in the mean time you could provide any feedback on the behaviour or the patch, so that I can get things right the first time, that would be great!

Thank you for your time, I am looking forward to your feedback.

Best regards, Marvin

[1] https://github.com/git/git/blob/225bc32a989d7a22fa6addafd4ce7dcd04675dbf/git-send-email.perl#L1800

[2] https://github.com/git/git/blob/225bc32a989d7a22fa6addafd4ce7dcd04675dbf/git-send-email.perl#L1952-L1956

[3] https://github.com/mhaeuser/git/commit/d87f49a02c0efa3084ae6c70bbf583b865744e43

Next: Bagas Sanjaya
Message 1 of 8 in “[BUG] send-email propagates "In-Reply-To"”
  1. Marvin HäuserAug 22, 2021
  2. Bagas SanjayaAug 22, 2021
  3. Jeff KingAug 23, 2021
  4. Marvin HäuserAug 23, 2021
  5. Jeff KingAug 23, 2021
  6. Marvin HäuserAug 23, 2021
  7. Carlo Marcelo Arenas BelónAug 24, 2021
  8. Jeff KingAug 25, 2021

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.