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: Joe Perches <joe@perches.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
03372dbbe6
commit
4b76c9da61
1 changed files with 32 additions and 4 deletions
|
@ -41,6 +41,7 @@ my $web = 0;
|
|||
my $subsystem = 0;
|
||||
my $status = 0;
|
||||
my $keywords = 1;
|
||||
my $sections = 0;
|
||||
my $file_emails = 0;
|
||||
my $from_filename = 0;
|
||||
my $pattern_depth = 0;
|
||||
|
@ -121,6 +122,7 @@ if (!GetOptions(
|
|||
'web!' => \$web,
|
||||
'pattern-depth=i' => \$pattern_depth,
|
||||
'k|keywords!' => \$keywords,
|
||||
'sections!' => \$sections,
|
||||
'fe|file-emails!' => \$file_emails,
|
||||
'f|file' => \$from_filename,
|
||||
'v|version' => \$version,
|
||||
|
@ -152,10 +154,20 @@ if ($output_rolestats) {
|
|||
$output_roles = 1;
|
||||
}
|
||||
|
||||
my $selections = $email + $scm + $status + $subsystem + $web;
|
||||
if ($selections == 0) {
|
||||
usage();
|
||||
die "$P: Missing required option: email, scm, status, subsystem or web\n";
|
||||
if ($sections) {
|
||||
$email = 0;
|
||||
$email_list = 0;
|
||||
$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 &&
|
||||
|
@ -357,6 +369,21 @@ foreach my $file (@files) {
|
|||
|
||||
foreach my $line (sort {$hash{$b} <=> $hash{$a}} keys %hash) {
|
||||
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) {
|
||||
|
@ -486,6 +513,7 @@ Output type options:
|
|||
Other options:
|
||||
--pattern-depth => Number of pattern directory traversals (default: 0 (all))
|
||||
--keywords => scan patch for keywords (default: 1 (on))
|
||||
--sections => print the entire subsystem sections with pattern matches
|
||||
--version => show version
|
||||
--help => show this help information
|
||||
|
||||
|
|
Loading…
Reference in a new issue