[RFC PATCH] get_maintainer: Look for arbitrary letter prefixes in sections

From: Joe Perches
Date: Mon Oct 24 2016 - 14:14:19 EST


Jani Nikula proposes patches to add a few new letter prefixes
for "B:" bug reporting and "C:" maintainer chatting to the
various sections of MAINTAINERS.

Add a generic mechanism to get_maintainer.pl to find sections that
have any combination of "[A-Z]" letter prefix types in a section.

Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
---
 scripts/get_maintainer.pl | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl
index aed4511f0304..633f2dd3de27 100755
--- a/scripts/get_maintainer.pl
+++ b/scripts/get_maintainer.pl
@@ -49,6 +49,7 @@ my $scm = 0;
 my $web = 0;
 my $subsystem = 0;
 my $status = 0;
+my $letters = "";
 my $keywords = 1;
 my $sections = 0;
 my $file_emails = 0;
@@ -241,6 +242,7 @@ if (!GetOptions(
  'status!' => \$status,
  'scm!' => \$scm,
  'web!' => \$web,
+ 'letters=s' => \$letters,
  'pattern-depth=i' => \$pattern_depth,
  'k|keywords!' => \$keywords,
  'sections!' => \$sections,
@@ -271,7 +273,8 @@ $output_multiline = 0 if ($output_separator ne ", ");
 $output_rolestats = 1 if ($interactive);
 $output_roles = 1 if ($output_rolestats);
 
-if ($sections) {
+if ($sections || $letters ne "") {
+    $sections = 1;
     $email = 0;
     $email_list = 0;
     $scm = 0;
@@ -682,8 +685,10 @@ sub get_maintainers {
  $line =~ s/\\\./\./g;        ##Convert \. to .
  $line =~ s/\.\*/\*/g;        ##Convert .* to *
      }
-     $line =~ s/^([A-Z]):/$1:\t/g;
-     print("$line\n");
+     my $count = $line =~ s/^([A-Z]):/$1:\t/g;
+     if ($letters eq "" || (!$count || $letters =~ /$1/i)) {
+ print("$line\n");
+     }
  }
  print("\n");
      }
@@ -814,6 +819,7 @@ Other options:
   --pattern-depth => Number of pattern directory traversals (default: 0 (all))
   --keywords => scan patch for keywords (default: $keywords)
   --sections => print all of the subsystem sections with pattern matches
+  --letters => print all matching 'letter' types from all matching sections
   --mailmap => use .mailmap file (default: $email_use_mailmap)
   --version => show version
   --help => show this help information