2018-08-14 01:17:49

by Joe Perches

[permalink] [raw]
Subject: [PATCH] get_maintainer: Allow option --mpath <directory> to read all files in <directory>

There is an external use case for multiple private MAINTAINER
style files in a separate directory. Allow it.

--mpath has a default of "./MAINTAINERS".

The value entered can be either a file or a directory.

The behaviors are now:

--mpath <file> Read only the specific file as <MAINTAINER_TYPE> file
--mpath <directory> Read all files in <directory> as <MAINTAINER_TYPE> files
--mpath <directory> --find-maintainer-files
Recurse through <directory> and read all files named MAINTAINERS

Signed-off-by: Joe Perches <[email protected]>
---
scripts/get_maintainer.pl | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl
index 0ebdefe74d5b..c1c088ef1420 100755
--- a/scripts/get_maintainer.pl
+++ b/scripts/get_maintainer.pl
@@ -396,7 +396,12 @@ sub read_all_maintainer_files {

if (-d $path) {
$path .= '/' if ($path !~ m@/$@);
- if ($path eq "${lk_path}MAINTAINERS/") {
+ if ($find_maintainer_files) {
+ find( { wanted => \&find_is_maintainer_file,
+ preprocess => \&find_ignore_git,
+ no_chdir => 1,
+ }, "$path");
+ } else {
opendir(DIR, "$path") or die $!;
my @files = readdir(DIR);
closedir(DIR);
@@ -404,12 +409,6 @@ sub read_all_maintainer_files {
push(@mfiles, "$path$file") if ($file !~ /^\./);
}
}
- if ($find_maintainer_files) {
- find( { wanted => \&find_is_maintainer_file,
- preprocess => \&find_ignore_git,
- no_chdir => 1,
- }, "$path");
- }
} elsif (-f "$path") {
push(@mfiles, "$path");
} else {



2018-08-15 21:08:54

by Don Zickus

[permalink] [raw]
Subject: Re: [PATCH] get_maintainer: Allow option --mpath <directory> to read all files in <directory>

On Mon, Aug 13, 2018 at 06:12:44PM -0700, Joe Perches wrote:
> There is an external use case for multiple private MAINTAINER
> style files in a separate directory. Allow it.
>
> --mpath has a default of "./MAINTAINERS".
>
> The value entered can be either a file or a directory.
>
> The behaviors are now:
>
> --mpath <file> Read only the specific file as <MAINTAINER_TYPE> file
> --mpath <directory> Read all files in <directory> as <MAINTAINER_TYPE> files
> --mpath <directory> --find-maintainer-files
> Recurse through <directory> and read all files named MAINTAINERS

Tested-by: Don Zickus <[email protected]>
>
> Signed-off-by: Joe Perches <[email protected]>
> ---
> scripts/get_maintainer.pl | 13 ++++++-------
> 1 file changed, 6 insertions(+), 7 deletions(-)
>
> diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl
> index 0ebdefe74d5b..c1c088ef1420 100755
> --- a/scripts/get_maintainer.pl
> +++ b/scripts/get_maintainer.pl
> @@ -396,7 +396,12 @@ sub read_all_maintainer_files {
>
> if (-d $path) {
> $path .= '/' if ($path !~ m@/$@);
> - if ($path eq "${lk_path}MAINTAINERS/") {
> + if ($find_maintainer_files) {
> + find( { wanted => \&find_is_maintainer_file,
> + preprocess => \&find_ignore_git,
> + no_chdir => 1,
> + }, "$path");
> + } else {
> opendir(DIR, "$path") or die $!;
> my @files = readdir(DIR);
> closedir(DIR);
> @@ -404,12 +409,6 @@ sub read_all_maintainer_files {
> push(@mfiles, "$path$file") if ($file !~ /^\./);
> }
> }
> - if ($find_maintainer_files) {
> - find( { wanted => \&find_is_maintainer_file,
> - preprocess => \&find_ignore_git,
> - no_chdir => 1,
> - }, "$path");
> - }
> } elsif (-f "$path") {
> push(@mfiles, "$path");
> } else {
>