send-email: don't cc *-by lines with '-' prefix
authorBaruch Siach <baruch@tkos.co.il>
Sat, 16 Mar 2019 19:26:50 +0000 (21:26 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 4 Apr 2019 09:50:03 +0000 (18:50 +0900)
Since commit ef0cc1df90f6b ("send-email: also pick up cc addresses from
-by trailers") in git version 2.20, git send-email adds to cc list
addresses from all *-by lines. As a side effect a line with
'-Signed-off-by' is now also added to cc. This makes send-email pick
lines from patches that remove patch files from the git repo. This is
common in the Buildroot project that often removes (and adds) patch
files that have 'Signed-off-by' in their patch description part.

Consider only *-by lines that start with [a-z] (case insensitive) to
avoid unrelated addresses in cc.

Cc: Joe Perches <joe@perches.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Acked-by: Rasmus Villemoes <rv@rasmusvillemoes.dk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-send-email.perl
index 8200d58cdc62b628f77923305ecb79ff260155ea..62c8f91d264f1edfeb09cc0d0d6eafe29c3e47a7 100755 (executable)
@@ -1699,7 +1699,7 @@ sub process_file {
        # Now parse the message body
        while(<$fh>) {
                $message .=  $_;
-               if (/^([a-z-]*-by|Cc): (.*)/i) {
+               if (/^([a-z][a-z-]*-by|Cc): (.*)/i) {
                        chomp;
                        my ($what, $c) = ($1, $2);
                        # strip garbage for the address we'll use: