Commit 4b76c9da authored by Joe Perches's avatar Joe Perches Committed by Linus Torvalds

scripts/get_maintainer.pl: add --sections, print entire matched subsystem

Print the complete contents of the matched subsystems
in pattern match depth order.

Sample output:

$ ./scripts/get_maintainer.pl --sections -f drivers/net/usb/smsc95xx.c
USB SMSC95XX ETHERNET DRIVER
M:Steve Glendinning <steve.glendinning@smsc.com>
L:netdev@vger.kernel.org
S:Supported
F:drivers/net/usb/smsc95xx.*
USB SUBSYSTEM
M:Greg Kroah-Hartman <gregkh@suse.de>
L:linux-usb@vger.kernel.org
W:http://www.linux-usb.org
T:quilt kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/
S:Supported
F:Documentation/usb/
F:drivers/net/usb/
F:drivers/usb/
F:include/linux/usb.h
F:include/linux/usb/
NETWORKING DRIVERS
L:netdev@vger.kernel.org
W:http://www.linuxfoundation.org/en/Net
T:git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.git
S:Odd Fixes
F:drivers/net/
F:include/linux/if_*
F:include/linux/*device.h
THE REST
M:Linus Torvalds <torvalds@linux-foundation.org>
L:linux-kernel@vger.kernel.org
Q:http://patchwork.kernel.org/project/LKML/list/
T:git git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
S:Buried alive in reporters
F:*
F:*/
Signed-off-by: default avatarJoe Perches <joe@perches.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 03372dbb
...@@ -41,6 +41,7 @@ my $web = 0; ...@@ -41,6 +41,7 @@ my $web = 0;
my $subsystem = 0; my $subsystem = 0;
my $status = 0; my $status = 0;
my $keywords = 1; my $keywords = 1;
my $sections = 0;
my $file_emails = 0; my $file_emails = 0;
my $from_filename = 0; my $from_filename = 0;
my $pattern_depth = 0; my $pattern_depth = 0;
...@@ -121,6 +122,7 @@ if (!GetOptions( ...@@ -121,6 +122,7 @@ if (!GetOptions(
'web!' => \$web, 'web!' => \$web,
'pattern-depth=i' => \$pattern_depth, 'pattern-depth=i' => \$pattern_depth,
'k|keywords!' => \$keywords, 'k|keywords!' => \$keywords,
'sections!' => \$sections,
'fe|file-emails!' => \$file_emails, 'fe|file-emails!' => \$file_emails,
'f|file' => \$from_filename, 'f|file' => \$from_filename,
'v|version' => \$version, 'v|version' => \$version,
...@@ -152,10 +154,20 @@ if ($output_rolestats) { ...@@ -152,10 +154,20 @@ if ($output_rolestats) {
$output_roles = 1; $output_roles = 1;
} }
my $selections = $email + $scm + $status + $subsystem + $web; if ($sections) {
if ($selections == 0) { $email = 0;
usage(); $email_list = 0;
die "$P: Missing required option: email, scm, status, subsystem or web\n"; $scm = 0;
$status = 0;
$subsystem = 0;
$web = 0;
$keywords = 0;
} else {
my $selections = $email + $scm + $status + $subsystem + $web;
if ($selections == 0) {
usage();
die "$P: Missing required option: email, scm, status, subsystem or web\n";
}
} }
if ($email && if ($email &&
...@@ -357,6 +369,21 @@ foreach my $file (@files) { ...@@ -357,6 +369,21 @@ foreach my $file (@files) {
foreach my $line (sort {$hash{$b} <=> $hash{$a}} keys %hash) { foreach my $line (sort {$hash{$b} <=> $hash{$a}} keys %hash) {
add_categories($line); add_categories($line);
if ($sections) {
my $i;
my $start = find_starting_index($line);
my $end = find_ending_index($line);
for ($i = $start; $i < $end; $i++) {
my $line = $typevalue[$i];
if ($line =~ /^[FX]:/) { ##Restore file patterns
$line =~ s/([^\\])\.([^\*])/$1\?$2/g;
$line =~ s/([^\\])\.$/$1\?/g; ##Convert . back to ?
$line =~ s/\\\./\./g; ##Convert \. to .
$line =~ s/\.\*/\*/g; ##Convert .* to *
}
print("$line\n");
}
}
} }
if ($email && $email_git) { if ($email && $email_git) {
...@@ -486,6 +513,7 @@ Output type options: ...@@ -486,6 +513,7 @@ Output type options:
Other options: Other options:
--pattern-depth => Number of pattern directory traversals (default: 0 (all)) --pattern-depth => Number of pattern directory traversals (default: 0 (all))
--keywords => scan patch for keywords (default: 1 (on)) --keywords => scan patch for keywords (default: 1 (on))
--sections => print the entire subsystem sections with pattern matches
--version => show version --version => show version
--help => show this help information --help => show this help information
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment