[<prev] [next>] [day] [month] [year] [list]
Message-Id: <1249334658.5149.64.camel@Joe-Laptop.home>
Date: Mon, 03 Aug 2009 14:24:18 -0700
From: Joe Perches <joe@...ches.com>
To: LKML <linux-kernel@...r.kernel.org>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Julia Lawall <julia@...u.dk>
Subject: [PATCH] scripts/get_maintainer.pl: Add sections in pattern match
directory depth order
Before this change, matched sections were added in the normally
alphabetic order of MAINTAINERS.
For instance, finding the maintainer for drivers/scsi/wd7000.c
would first find "SCSI SUBSYSTEM", then "WD7000 SCSI SUBSYSTEM",
then "THE REST".
before patch:
$ ./scripts/get_maintainer.pl --nogit -f drivers/scsi/wd7000.c
James E.J. Bottomley <James.Bottomley@...senPartnership.com>
Miroslav Zagorac <zaga@....cc.fer.hr>
linux-scsi@...r.kernel.org
linux-kernel@...r.kernel.org
This patch does a length based directory match depth check by
counting the number of "/" characters in the pattern and adding
1 more if the pattern is not a directory, then selecting the
matched pattern sections by greatest depth.
This changes the example output order of MAINTAINERS to whatever is
selected in "WD7000 SUBSYSTEM", then "SCSI SYSTEM", then "THE REST".
after patch:
$ ./scripts/get_maintainer.pl --nogit -f drivers/scsi/wd7000.c
Miroslav Zagorac <zaga@....cc.fer.hr>
James E.J. Bottomley <James.Bottomley@...senPartnership.com>
linux-scsi@...r.kernel.org
linux-kernel@...r.kernel.org
Signed-off-by: Joe Perches <joe@...ches.com>
diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl
index 278a45b..e875430 100755
--- a/scripts/get_maintainer.pl
+++ b/scripts/get_maintainer.pl
@@ -13,7 +13,7 @@
use strict;
my $P = $0;
-my $V = '0.17';
+my $V = '0.18';
use Getopt::Long qw(:config no_auto_abbrev);
@@ -201,6 +201,7 @@ foreach my $file (@files) {
if ($type eq 'X') {
if (file_match_pattern($file, $value)) {
$exclude = 1;
+ last;
}
}
}
@@ -208,18 +209,24 @@ foreach my $file (@files) {
if (!$exclude) {
my $tvi = 0;
+ my %hash;
foreach my $line (@typevalue) {
if ($line =~ m/^(\C):\s*(.*)/) {
my $type = $1;
my $value = $2;
if ($type eq 'F') {
if (file_match_pattern($file, $value)) {
- add_categories($tvi);
+ my $pattern_depth = ($value =~ tr@/@@);
+ $pattern_depth++ if (!(substr($value,-1,1) eq "/"));
+ $hash{$tvi} = $pattern_depth;
}
}
}
$tvi++;
}
+ foreach my $line (sort {$hash{$b} <=> $hash{$a}} keys %hash) {
+ add_categories($line);
+ }
}
if ($email && $email_git) {
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists