|
@@ -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
|
|
|
}
|
|
|
|