diff options
author | Junio C Hamano <gitster@pobox.com> | 2007-06-20 13:47:34 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-06-24 02:46:35 -0700 |
commit | aeb59328453cd4f438345ea79ff04c96bccbbbb8 (patch) | |
tree | 9c8bd0af624beca5703234ad8741aeec39bd0ac5 /git-send-email.perl | |
parent | 0d351e9ca23ea3be9aa7631b1b548f5d75f01a13 (diff) | |
download | git-aeb59328453cd4f438345ea79ff04c96bccbbbb8.tar.gz |
git-send-email: Do not make @-less message ID
When the original $from address fails to yield a valid-looking
e-mail address, we created a bogus looking message ID, formatted
like this:
Message-Id: <11823357623688-git-send-email->
This commit fixes it by moving call to make_message_id() to
where it matters, namely, before the $message_id is needed to be
placed in the generated e-mail header; this has an important
side effect of making it clear that $from is already available.
Also throw in Sys::Hostname::hostname() just for fun, although I
suspect that the code would never trigger due to the modified
call sequence that makes sure $from is always available. This
is based on a suggestion by Michael Hendricks.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-send-email.perl')
-rwxr-xr-x | git-send-email.perl | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/git-send-email.perl b/git-send-email.perl index 7c0c90bd21..9f75551673 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -412,13 +412,21 @@ sub extract_valid_address { # 1 second since the last time we were called. # We'll setup a template for the message id, using the "from" address: -my $message_id_from = extract_valid_address($from); -my $message_id_template = "<%s-git-send-email-$message_id_from>"; sub make_message_id { my $date = time; my $pseudo_rand = int (rand(4200)); + my $du_part; + for ($from, $committer, $author) { + $du_part = extract_valid_address($_); + last if ($du_part ne ''); + } + if ($du_part eq '') { + use Sys::Hostname qw(); + $du_part = 'user@' . Sys::Hostname::hostname(); + } + my $message_id_template = "<%s-git-send-email-$du_part>"; $message_id = sprintf $message_id_template, "$date$pseudo_rand"; #print "new message id = $message_id\n"; # Was useful for debugging } @@ -467,6 +475,8 @@ sub send_message $ccline = "\nCc: $cc"; } $from = sanitize_address_rfc822($from); + make_message_id(); + my $header = "From: $from To: $to${ccline} Subject: $subject @@ -533,7 +543,6 @@ X-Mailer: git-send-email $gitversion $reply_to = $initial_reply_to; $references = $initial_reply_to || ''; -make_message_id(); $subject = $initial_subject; foreach my $t (@files) { @@ -627,7 +636,6 @@ foreach my $t (@files) { $references = "$message_id"; } } - make_message_id(); } if ($compose) { |