Currently we are searching "./:$ENV{HOME}/:.scripts/" for ignore file,
but would always get "./.get_maintainer.ignore" only.

This patch applies all .get_maintainer.ignore, so it would be easier to
add ignore list locally.

Signed-off-by: Jeffy Chen <[email protected]>
---

 scripts/get_maintainer.pl | 49 ++++++++++++++++++++++++++++++-----------------
 1 file changed, 31 insertions(+), 18 deletions(-)

diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl
index 633f2dd..357e171 100755
--- a/scripts/get_maintainer.pl
+++ b/scripts/get_maintainer.pl
@@ -193,24 +193,26 @@ if (-f $conf) {
 }
 
 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);
+my @ignore_files = which_confs(".get_maintainer.ignore");
+foreach my $ignore_file (@ignore_files) {
+    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);
     }
-    close($ignore);
 }
 
 if (!GetOptions(
@@ -1237,15 +1239,26 @@ sub which {
     return "";
 }
 
-sub which_conf {
+sub which_confs {
     my ($conf) = @_;
+    my @confs = ();
 
     foreach my $path (split(/:/, ".:$ENV{HOME}:.scripts")) {
        if (-e "$path/$conf") {
-           return "$path/$conf";
+           push(@confs, "$path/$conf");
        }
     }
 
+    return @confs;
+}
+
+sub which_conf {
+    my @confs = which_confs(@_);
+
+    if (@confs) {
+       return $confs[0];
+    }
+
     return "";
 }
 
-- 
2.1.4


Reply via email to