get_maintainer.pl: add .get_maintainer.ignore file capability

Some people prefer not to be cc'd on patches.  Add an ability to have a
file (.get_maintainer.ignore) with names and email addresses that are
excluded from being listed except when specifically listed as a maintainer
in a section.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Joe Perches 2015-06-25 15:01:50 -07:00 committed by Linus Torvalds
parent 3ea4331c60
commit 435de0782b
1 changed files with 32 additions and 0 deletions

View File

@ -186,6 +186,27 @@ if (-f $conf) {
unshift(@ARGV, @conf_args) if @conf_args;
}
my @ignore_emails = ();
my $ignore_file = which_conf(".get_maintainer.ignore");
if (-f $ignore_file) {
open(my $ignore, '<', "$ignore_file")
or warn "$P: Can't find a readable .get_maintainer.ignore file $!\n";
while (<$ignore>) {
my $line = $_;
$line =~ s/\s*\n?$//;
$line =~ s/^\s*//;
$line =~ s/\s+$//;
$line =~ s/#.*$//;
next if ($line =~ m/^\s*$/);
if (rfc822_valid($line)) {
push(@ignore_emails, $line);
}
}
close($ignore);
}
if (!GetOptions(
'email!' => \$email,
'git!' => \$email_git,
@ -513,6 +534,16 @@ if ($web) {
exit($exit);
sub ignore_email_address {
my ($address) = @_;
foreach my $ignore (@ignore_emails) {
return 1 if ($ignore eq $address);
}
return 0;
}
sub range_is_maintained {
my ($start, $end) = @_;
@ -1868,6 +1899,7 @@ sub vcs_assign {
my $percent = $sign_offs * 100 / $divisor;
$percent = 100 if ($percent > 100);
next if (ignore_email_address($line));
$count++;
last if ($sign_offs < $email_git_min_signatures ||
$count > $email_git_max_maintainers ||