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

Regression: git send-email Message-Id: numbering doesn't start at 1 any more

From
Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Date
Nov 6, 2023, 15:32 UTC
Message-ID
<20231106153214.s5abourejkuiwk64@pengutronix.de>
Hello,

Since commit 3ece9bf0f9e24909b090cf348d89e8920bd4f82f I experience that the generated Message-Ids don't start at ....-1-... any more. I have:

$ git send-email w/*
...
Subject: [PATCH 0/5] watchdog: Drop platform_driver_probe() and convert to platform remove callback returning void (part II)
Date: Mon,  6 Nov 2023 16:10:04 +0100
Message-ID: <20231106151003.3844134-7-u.kleine-koenig@pengutronix.de>
...
So the cover letter is sent with Message-Id: ...-7-...
Before above mentioned commit I had:
...
Message-ID: <20231106151003.3844134-1-u.kleine-koenig@pengutronix.de>
...

Similar to my earlier regression report this also only happens in the presence of a sendemail-validate hook. Passing --no-validate works around this issue.

While this isn't an issue for git itself, it breaks one of my scripts that knows how to determine the number of patches in a series from the last Message-Id:.

The following patch works for me:
diff --git a/git-send-email.perl b/git-send-email.perl
index 9e21b0b3f43a..095a3d9dd720 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -799,6 +799,7 @@ sub is_format_patch_arg {
 
 $time = time - scalar $#files;
 
+my ($message_id_stamp, $message_id_serial);
 if ($validate) {
 	# FIFOs can only be read once, exclude them from validation.
 	my @real_files = ();
@@ -821,6 +822,7 @@ sub is_format_patch_arg {
 	}
 	delete $ENV{GIT_SENDEMAIL_FILE_COUNTER};
 	delete $ENV{GIT_SENDEMAIL_FILE_TOTAL};
+	$message_id_serial = 0;
 }
 
 @files = handle_backup_files(@files);
@@ -1181,7 +1183,6 @@ sub validate_address_list {
 
 # We'll setup a template for the message id, using the "from" address:
 
-my ($message_id_stamp, $message_id_serial);
 sub make_message_id {
 	my $uniq;
 	if (!defined $message_id_stamp) {

But I guess this could be done prettier by someone who is fluent in
Perl.

Best regards
Uwe
-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |
Next: Junio C Hamano
Message 1 of 5 in “Regression: git send-email Message-Id: numbering doesn't start at 1 any more”
  1. Uwe Kleine-KönigNov 6, 2023
  2. Junio C HamanoNov 6, 2023
  3. Uwe Kleine-KönigNov 7, 2023
  4. Junio C HamanoNov 8, 2023
  5. Michael StrawbridgeNov 8, 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.