git-send-email: remove garbage after email address
authorKrzysztof Mazur <krzysiek@podlesie.net>
Thu, 22 Nov 2012 18:12:08 +0000 (19:12 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 26 Nov 2012 16:16:36 +0000 (08:16 -0800)
In some cases it is useful to add additional information after the
email address on the Cc: footer in a commit log, for instance:

"Cc: Stable kernel <stable@vger.kernel.org> #v3.4 v3.5 v3.6"

However, git-send-email refuses to pick up such an invalid address
when the Email::Valid perl module is available, or just uses the
whole line as the email address.

In sanitize_address(), remove everything after the email address, so
that the result is a valid email address that makes Email::Valid
happy.

Signed-off-by: Krzysztof Mazur <krzysiek@podlesie.net>
Tested-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-send-email.perl

index 5a7c29db9324df48c9da68b08a946e5a357f0a78..9840d0afcaf02915d8a6d179bb296bd5e4ba86f1 100755 (executable)
@@ -924,6 +924,10 @@ sub quote_subject {
 # use the simplest quoting being able to handle the recipient
 sub sanitize_address {
        my ($recipient) = @_;
+
+       # remove garbage after email address
+       $recipient =~ s/(.*>).*$/$1/;
+
        my ($recipient_name, $recipient_addr) = ($recipient =~ /^(.*?)\s*(<.*)/);
 
        if (not $recipient_name) {