On 29/06/20 19:27, Philippe Mathieu-Daudé wrote: > Sometime emails get rejected and 'bounce'. It might take time > between we report that, a patch is posted, reviewed, merged... > > To reduce time spent looking at bouncing emails in one mailbox, > add the feature to simply ignore broken email addresses. The > format is similar to the '.mailmap' file. Add an email address > in your local '.ignoredmailmap. and get_maintainer.pl won't > list it anymore. > > This is particularly useful when git-send-email is used with > the --cc-cmd argument, like suggested in QEMU wiki: > https://wiki.qemu.org/Contribute/SubmitAPatch#CC_the_relevant_maintainer > > Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org>
Do you have such a list already? Paolo > --- > scripts/get_maintainer.pl | 50 +++++++++++++++++++++++++++++++++++++++ > 1 file changed, 50 insertions(+) > > diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl > index 271f5ff42a..7f7a4ff3ef 100755 > --- a/scripts/get_maintainer.pl > +++ b/scripts/get_maintainer.pl > @@ -38,6 +38,7 @@ > my $interactive = 0; > my $email_remove_duplicates = 1; > my $email_use_mailmap = 1; > +my $email_use_ignoredmailmap = 1; > my $output_multiline = 1; > my $output_separator = ", "; > my $output_roles = 0; > @@ -365,6 +366,51 @@ sub read_mailmap { > close($mailmap_file); > } > > +my $ignoredmailmap; > + > +read_ignoredmailmap(); > + > +sub read_ignoredmailmap { > + $ignoredmailmap = { > + names => {}, > + addresses => {} > + }; > + > + return if (!$email_use_ignoredmailmap || !(-f > "${lk_path}.ignoredmailmap")); > + > + open(my $ignoredmailmap_file, '<', "${lk_path}.ignoredmailmap") > + or warn "$P: Can't open .ignoredmailmap: $!\n"; > + > + while (<$ignoredmailmap_file>) { > + s/#.*$//; #strip comments > + s/^\s+|\s+$//g; #trim > + > + next if (/^\s*$/); #skip empty lines > + #entries have one of the following formats: > + # name1 <mail1> > + # <mail1> > + > + if (/^([^<]+)<([^>]+)>$/) { > + my $real_name = $1; > + my $address = $2; > + > + $real_name =~ s/\s+$//; > + ($real_name, $address) = parse_email("$real_name <$address>"); > + $ignoredmailmap->{$address} = 1; > + } elsif (/^(.+)<([^>]+)>\s*<([^>]+)>$/) { > + my $real_name = $1; > + my $real_address = $2; > + my $wrong_address = $3; > + > + $real_name =~ s/\s+$//; > + ($real_name, $real_address) = > + parse_email("$real_name <$real_address>"); > + $ignoredmailmap->{$real_address} = 1; > + } > + } > + close($ignoredmailmap_file); > +} > + > ## use the filenames on the command line or find the filenames in the > patchfiles > > my @files = (); > @@ -1074,6 +1120,10 @@ sub push_email_address { > if ($address eq "") { > return 0; > } > + if (exists $ignoredmailmap->{$address}) { > + #warn("Ignoring address: '" . $address . "'\n"); > + return 0; > + } > > if (!$email_remove_duplicates) { > push(@email_to, [format_email($name, $address, $email_usename), $role]); >