git-send-email: do not drop custom headers the user prepared
[gitweb.git] / git-send-email.perl
index 3f50abaeb6901772b22e6ca2c1e87b4bd92f3b92..2fd5e87934edba0c17d657fe0878c8a380202328 100755 (executable)
@@ -83,7 +83,7 @@ sub format_2822_time {
 my $compose_filename = ".msg.$$";
 
 # Variables we fill in automatically, or via prompting:
-my (@to,@cc,@initial_cc,@bcclist,
+my (@to,@cc,@initial_cc,@bcclist,@xh,
        $initial_reply_to,$initial_subject,@files,$from,$compose,$time);
 
 # Behavior modification variables
@@ -422,6 +422,9 @@ sub send_message
                $header .= "In-Reply-To: $reply_to\n";
                $header .= "References: $references\n";
        }
+       if (@xh) {
+               $header .= join("\n", @xh) . "\n";
+       }
 
        if ($smtp_server =~ m#^/#) {
                my $pid = open my $sm, '|-';
@@ -472,6 +475,7 @@ sub send_message
 
        my $author_not_sender = undef;
        @cc = @initial_cc;
+       @xh = ();
        my $found_mbox = 0;
        my $header_done = 0;
        $message = "";
@@ -495,6 +499,9 @@ sub send_message
                                                $2, $_) unless $quiet;
                                        push @cc, $2;
                                }
+                               elsif (/^[-A-Za-z]+:\s+\S/) {
+                                       push @xh, $_;
+                               }
 
                        } else {
                                # In the traditional