get_maintainer: look for arbitrary letter prefixes in sections
authorJoe Perches <joe@perches.com>
Tue, 13 Dec 2016 00:45:59 +0000 (16:45 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 13 Dec 2016 02:55:09 +0000 (18:55 -0800)
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.

Link: http://lkml.kernel.org/r/1477332323.1984.8.camel@perches.com
Signed-off-by: Joe Perches <joe@perches.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Dave Airlie <airlied@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
scripts/get_maintainer.pl

index aed4511f0304e4922ff6770a3d573777b4f235ed..633f2dd3de279fda4799ca41ba88553e1c963961 100755 (executable)
@@ -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