From 5b5967abf41a71ffe26b4a08435ecbb7a725ba03 Mon Sep 17 00:00:00 2001 From: Stephen Warren Date: Wed, 20 Feb 2013 13:15:13 +1100 Subject: [PATCH] get_maintainer: allow keywords to match filenames 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 Cc: Joe Perches Signed-off-by: Andrew Morton --- MAINTAINERS | 9 +++++---- scripts/get_maintainer.pl | 4 ++++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index ed4f36497bfa..3c174607f94d 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -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 diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl index 18d4ab55606b..ce4cc837b748 100755 --- a/scripts/get_maintainer.pl +++ b/scripts/get_maintainer.pl @@ -611,6 +611,10 @@ sub get_maintainers { $hash{$tvi} = $value_pd; } } + } elsif ($type eq 'K') { + if ($file =~ m/$value/x) { + $hash{$tvi} = 0; + } } } } -- 2.39.5