From: Junio C Hamano Date: Fri, 19 May 2023 16:27:06 +0000 (-0700) Subject: Merge branch 'jc/send-email-pre-process-fix' X-Git-Tag: v2.41.0-rc1~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b04671b638745ecdad70d3f22e9f5032f41fc26d;p=thirdparty%2Fgit.git Merge branch 'jc/send-email-pre-process-fix' When "git send-email" that uses the validate hook is fed a message without and then with Message-ID, it failed to auto-assign a unique Message-ID to the former and instead reused the Message-ID from the latter, which has been corrected. This was a fix for a recent regression caught before the release, so no need to mention it in the release notes. * jc/send-email-pre-process-fix: t9001: mark the script as no longer leak checker clean send-email: clear the $message_id after validation --- b04671b638745ecdad70d3f22e9f5032f41fc26d diff --cc git-send-email.perl index 89d8237e89,37dfd4b8c5..affbb88509 --- a/git-send-email.perl +++ b/git-send-email.perl @@@ -1788,16 -1768,18 +1788,17 @@@ sub pre_process_file $subject = $initial_subject; $message = ""; $message_num++; + undef $message_id; - - # First unfold multiline header fields + # Retrieve and unfold header fields. + my @header_lines = (); while(<$fh>) { last if /^\s*$/; - if (/^\s+\S/ and @header) { - chomp($header[$#header]); - s/^\s+/ /; - $header[$#header] .= $_; - } else { - push(@header, $_); - } + push(@header_lines, $_); + } + @header = unfold_headers(@header_lines); + # Add computed headers, if applicable. + unless ($no_header_cmd || ! $header_cmd) { + push @header, invoke_header_cmd($header_cmd, $t); } # Now parse the header foreach(@header) {