send-email: avoid duplicate In-Reply-To/References
authorStefan Agner <stefan@agner.ch>
Tue, 17 Apr 2018 21:16:30 +0000 (23:16 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 18 Apr 2018 22:04:29 +0000 (07:04 +0900)
In case a patch already has In-Reply-To or References in the header
(e.g. when the patch has been created with format-patch --thread)
git-send-email should not add another pair of those headers.
This is also not allowed according to RFC 5322 Section 3.6:
https://tools.ietf.org/html/rfc5322#section-3.6

Avoid the second pair by reading the current headers into the
appropriate variables.

Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-send-email.perl
index 2fa7818ca9a8ac7363d17aef17b864f7361b3eb8..7157397fd03a0791b7722ab49aa696181977381c 100755 (executable)
@@ -1642,10 +1642,15 @@ sub send_message {
                        elsif (/^Content-Transfer-Encoding: (.*)/i) {
                                $xfer_encoding = $1 if not defined $xfer_encoding;
                        }
+                       elsif (/^In-Reply-To: (.*)/i) {
+                               $in_reply_to = $1;
+                       }
+                       elsif (/^References: (.*)/i) {
+                               $references = $1;
+                       }
                        elsif (!/^Date:\s/i && /^[-A-Za-z]+:\s+\S/) {
                                push @xh, $_;
                        }
-
                } else {
                        # In the traditional
                        # "send lots of email" format,