[PATCH 1/2] scripts/get_maintainer.pl: Add -f directory use

From: Joe Perches
Date: Thu Jul 09 2009 - 01:46:59 EST


Don't require a specific file in a directory
to be tested.

Also Arnd Bergmann pointed out that the MAINTAINERS
pattern requirement that directory patterns have a
trailing slash was unnecessary and was likely to be
error prone. Removed that requirement.

Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
---
scripts/get_maintainer.pl | 23 +++++++++++++++++++----
1 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl
index 3e73314..7fc09fc 100755
--- a/scripts/get_maintainer.pl
+++ b/scripts/get_maintainer.pl
@@ -13,7 +13,7 @@
use strict;

my $P = $0;
-my $V = '0.16';
+my $V = '0.17';

use Getopt::Long qw(:config no_auto_abbrev);

@@ -132,6 +132,10 @@ while (<MAINT>) {
$value =~ s@\.@\\\.@g; ##Convert . to \.
$value =~ s/\*/\.\*/g; ##Convert * to .*
$value =~ s/\?/\./g; ##Convert ? to .
+ ##if pattern is a directory and it lacks a trailing slash, add one
+ if ((-d $value)) {
+ $value =~ s@([^/])$@$1/@;
+ }
}
push(@typevalue, "$type:$value");
} elsif (!/^(\s)*$/) {
@@ -146,8 +150,10 @@ close(MAINT);
my @files = ();

foreach my $file (@ARGV) {
- next if ((-d $file));
- if (!(-f $file)) {
+ ##if $file is a directory and it lacks a trailing slash, add one
+ if ((-d $file)) {
+ $file =~ s@([^/])$@$1/@;
+ } elsif (!(-f $file)) {
die "$P: file '${file}' not found\n";
}
if ($from_filename) {
@@ -292,7 +298,7 @@ sub file_match_pattern {
sub usage {
print <<EOT;
usage: $P [options] patchfile
- $P [options] -f file
+ $P [options] -f file|directory
version: $V

MAINTAINER field selection options:
@@ -322,6 +328,15 @@ Other options:
--version => show version
--help => show this help information

+Notes:
+ Using "-f directory" may give unexpected results:
+
+ Used with "--git", git signators for _all_ files in and below
+ directory are examined as git recurses directories.
+ Any specified X: (exclude) pattern matches are _not_ ignored.
+ Used with "--nogit", directory is used as a pattern match,
+ no individual file within the directory or subdirectory
+ is matched.
EOT
}

--
1.6.3.1.10.g659a0.dirty

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/