Re: [PATCH] get_maintainer.pl: Add optional .get_maintainer.MAINTAINERS override

From: Don Zickus
Date: Fri Jul 06 2018 - 15:47:30 EST


On Fri, Jul 06, 2018 at 11:31:13AM -0700, Joe Perches wrote:
> On Fri, 2018-07-06 at 13:54 -0400, Don Zickus wrote:
> > On Tue, Jun 26, 2018 at 01:16:11PM -0700, Joe Perches wrote:
> > > On Tue, 2018-06-26 at 14:25 -0400, Prarit Bhargava wrote:
> > > > OSes have additional maintainers that should be cc'd on patches or may
> > > > want to circulate internal patches.
> > > >
> > > > Parse the .get_maintainer.MAINTAINERS file. Entries in the file
> > > > can begin with a '+' to indicate the email and list entries should be
> > > > added to the exiting MAINTAINERS output, or a '-' to indicate that the
> > > > entries should override the existing MAINTAINERS file.
> > > >
> > > > Also add a help entry for the .get_maintainers.ignore file.
> > >
> > > I see no reason for this patch to be applied.
> > > Why should it?
> > > Why shouldn't this be in your private repository?
> >
> > Hi Joe,
> >
> > Would you be open to a '--mfile=<path>/MAINTAINERS' option that would
> > override the default ./MAINTAINERS file? Then we could just add that to our
> > .get_maintainers.conf file.
>
> Hi Don.
>
> Sure.
>
> And that kinda already exists in mainline with
> --find-maintainer-files where any subdirectory
> that contains a MAINTAINER file is also read.
>
> > Just trying to find ways to minimize our collection of private patches.
>
> Perhaps that could be extended for your purpose
> with some additional argument like a specific
> optional directory/path where every subdirectory
> would be found.

Would you be ok with something like this? This seems to solve our problem
cleanly. If you are ok with it or need some tweaks, I will send a more
formal patch.

Cheers,
Don

diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl
index 8e8ac50f018c..ced7fd664862 100755
--- a/scripts/get_maintainer.pl
+++ b/scripts/get_maintainer.pl
@@ -60,7 +60,7 @@ my $pattern_depth = 0;
my $self_test = undef;
my $version = 0;
my $help = 0;
-my $find_maintainer_files = 0;
+my $find_maintainer_files = '';
my $rh_only = 1;

my $vcs_used = 0;
@@ -263,7 +263,7 @@ if (!GetOptions(
'sections!' => \$sections,
'fe|file-emails!' => \$file_emails,
'f|file' => \$from_filename,
- 'find-maintainer-files' => \$find_maintainer_files,
+ 'find-maintainer-files=s' => \$find_maintainer_files,
'self-test:s' => \$self_test,
'v|version' => \$version,
'h|help|usage' => \$help,
@@ -425,7 +425,7 @@ sub read_all_maintainer_files {
find( { wanted => \&find_is_maintainer_file,
preprocess => \&find_ignore_git,
no_chdir => 1,
- }, "${lk_path}");
+ }, "${lk_path}$find_maintainer_files");
} else {
push(@mfiles, "${lk_path}MAINTAINERS") if -f "${lk_path}MAINTAINERS";
}