get_maintainer: allow keywords to match filenames
authorStephen Warren <swarren@nvidia.com>
Thu, 28 Feb 2013 01:02:53 +0000 (17:02 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 28 Feb 2013 03:10:09 +0000 (19:10 -0800)
Allow K: entries in MAINTAINERS to match directly against filenames;
either those extracted from patch +++ or --- lines, or those specified
on the command-line using the -f option.

This potentially allows fewer lines in a MAINTAINERS entry, if all the
relevant files are scattered throughout the whole kernel tree, yet
contain some common keyword.  An example would be using an ARM SoC name
as the keyword to catch all related drivers.

I don't think setting exact_pattern_match_hash would be appropriate
here; at least for intended Tegra use case, this feature is to ensure
that all Tegra-related driver changes get Cc'd to the Tegra mailing
list.  Setting exact_pattern_match_hash would prevent git history
parsing for e.g.  S-o-b tags, which still seems like it would be useful.
Hence, this flag isn't set.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
MAINTAINERS
scripts/get_maintainer.pl

index 1e5c3a4ece7b0353e4c6c6503c029baf78fe538f..0bc4d0e3d3b531fc88a245eaa5ff13451ef353e4 100644 (file)
@@ -97,12 +97,13 @@ Descriptions of section entries:
           X:   net/ipv6/
           matches all files in and below net excluding net/ipv6/
        K: Keyword perl extended regex pattern to match content in a
-          patch or file.  For instance:
+          patch or file, or an affected filename.  For instance:
           K: of_get_profile
-             matches patches or files that contain "of_get_profile"
+             matches patch or file content, or filenames, that contain
+             "of_get_profile"
           K: \b(printk|pr_(info|err))\b
-             matches patches or files that contain one or more of the words
-             printk, pr_info or pr_err
+             matches patch or file content, or filenames, that contain one or
+             more of the words printk, pr_info or pr_err
           One regex pattern per line.  Multiple K: lines acceptable.
 
 Note: For the hard of thinking, this list is meant to remain in alphabetical
index 18d4ab55606bcb1ee41d2b7d0cb32afbf06163d9..ce4cc837b74890e8ad973242718d1050e1f909c1 100755 (executable)
@@ -611,6 +611,10 @@ sub get_maintainers {
                                    $hash{$tvi} = $value_pd;
                                }
                            }
+                       } elsif ($type eq 'K') {
+                           if ($file =~ m/$value/x) {
+                               $hash{$tvi} = 0;
+                           }
                        }
                    }
                }