send-email: try to order messages in email clients more correctly
authorEric Wong <normalperson@yhbt.net>
Sat, 25 Mar 2006 11:01:01 +0000 (03:01 -0800)
committerJunio C Hamano <junkio@cox.net>
Sun, 26 Mar 2006 01:41:22 +0000 (17:41 -0800)
If --no-chain-reply-to is set, patches may not always be ordered
correctly in email clients.  This patch makes sure each email
sent from a different second.

I chose to start with a time (slightly) in the past because
those are probably more likely in real-world usage and spam
filters might be more tolerant of them.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
git-send-email.perl

index e578aff..d2af98a 100755 (executable)
@@ -37,7 +37,7 @@ sub cleanup_compose_files();
 my $compose_filename = ".msg.$$";
 
 # Variables we fill in automatically, or via prompting:
-my (@to,@cc,@initial_cc,$initial_reply_to,$initial_subject,@files,$from,$compose);
+my (@to,@cc,@initial_cc,$initial_reply_to,$initial_subject,@files,$from,$compose,$time);
 
 # Behavior modification variables
 my ($chain_reply_to, $smtp_server, $quiet, $suppress_from, $no_signed_off_cc) = (1, "localhost", 0, 0, 0);
@@ -273,13 +273,14 @@ sub make_message_id
 
 
 $cc = "";
+$time = time - scalar $#files;
 
 sub send_message
 {
        my @recipients = unique_email_list(@to);
        my $to = join (",\n\t", @recipients);
        @recipients = unique_email_list(@recipients,@cc);
-       my $date = strftime('%a, %d %b %Y %H:%M:%S %z', localtime(time));
+       my $date = strftime('%a, %d %b %Y %H:%M:%S %z', localtime($time++));
 
        my $header = "From: $from
 To: $to