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

From: Prarit Bhargava
Date: Fri Jul 06 2018 - 15:39:26 EST




On 07/06/2018 02:44 PM, Don Zickus wrote:
> 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.
>
> Hi Joe,
>
> Yes, I saw and played with it. My only quirk with it was that option still
> found and added ./MAINTAINERS to the list which I/we were trying to avoid
> (we have our own private MAINTAINERS copy).
>
> But yes, it easily found our private MAINTAINERS file.
>
>>
>>> 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.
>
> So something like --find-maintainer-files=<dir> ? I think that could work.

So --find-maintainers-files=./kernel/pci

would only look for MAINTAINERS files under kernel/pci?

P.

>
> Cheers,
> Don
>
>>
>>> Cheers,
>>> Don
>>
>> cheers back, Joe
>>
>>>>> + $line =~ s/\s*\n?$//;
>>>>> + push(@mfiles, $line);
>>>>> + }
>>>>> + close($conffile);
>>>>> + if ($add eq 0) {
>>>>> + foreach my $file (@mfiles) {
>>>>> + read_maintainer_file("$file");
>>>>> + }
>>>>> + return;
>>>>> + }
>>>>> + }
>>>>> +
>>>>> if (-d "${lk_path}MAINTAINERS") {
>>>>> opendir(DIR, "${lk_path}MAINTAINERS") or die $!;
>>>>> my @files = readdir(DIR);
>>>>> @@ -1068,6 +1094,14 @@ Notes:
>>>>> Entries in this file can be any command line argument.
>>>>> This file is prepended to any additional command line arguments.
>>>>> Multiple lines and # comments are allowed.
>>>>> + File ".get_maintainer.ignore", if it exists in the linux kernel source root
>>>>> + directory, can contain a list of email addresses to ignore. Multiple
>>>>> + lines and # comments are allowed.
>>>>> + File ".get_maintainer.MAINTAINERS", if it exists in the linux kernel source
>>>>> + root directory, can change the location of the MAINTAINERS file.
>>>>> + Entries beginning with a '+' are added to the default list, and
>>>>> + entries beginning with a '-' override the existing MAINTAINERS list
>>>>> + lookup. Multiple lines and # comments are allowed.
>>>>> Most options have both positive and negative forms.
>>>>> The negative forms for --<foo> are --no<foo> and --no-<foo>.
>>>>>