2007-08-13 06:10:42

by Joe Perches

[permalink] [raw]
Subject: [PATCH] [2/2many] - FInd the maintainer(s) for a patch - MAINTAINERS

It helps when you do the diff the right way.

Describe the new F: pattern

Signed-off-by: Joe Perches <[email protected]>

diff --git a/MAINTAINERS b/MAINTAINERS
index d3a0684..0d7f856 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -83,6 +83,13 @@ S: Status, one of the following:
it has been replaced by a better system and you
should be using that.

+F: Files and directories with wildcard patterns.
+ A trailing slash includes all files and subdirectory files.
+ F: drivers/net/ all files in and below drivers/net
+ F: drivers/net/* all files in drivers/net, but not below
+ F: */net/* all files in "any top level directory"/net
+ One pattern per line. Multiple F: lines acceptable.
+
3C359 NETWORK DRIVER
P: Mike Phillips
M: [email protected]



2007-08-13 17:02:45

by Valdis Klētnieks

[permalink] [raw]
Subject: Re: [PATCH] [2/2many] - FInd the maintainer(s) for a patch - MAINTAINERS

On Sun, 12 Aug 2007 23:10:16 PDT, Joe Perches said:

> + A trailing slash includes all files and subdirectory files.
> + F: drivers/net/ all files in and below drivers/net
> + F: drivers/net/* all files in drivers/net, but not below

Since somebody is going to screw up and do it - what are the semantics of
'drivers/net' and forgetting the trailing slash? Does your tool break on
that, and if so, is it silent or noisy (if it's silent, it won't get fixed).

> + F: */net/* all files in "any top level directory"/net

Does the leading '*' match exactly one level, or will it match foo/bar/net/*
as well?

Is a construction like 'net/*/netfilter/*' legal?


Attachments:
(No filename) (226.00 B)

2007-08-13 17:06:48

by Joe Perches

[permalink] [raw]
Subject: Re: [PATCH] [2/2many] - FInd the maintainer(s) for a patch - MAINTAINERS

On Mon, 2007-08-13 at 12:36 -0400, [email protected] wrote:
> On Sun, 12 Aug 2007 23:10:16 PDT, Joe Perches said:
>
> > + A trailing slash includes all files and subdirectory files.
> > + F: drivers/net/ all files in and below drivers/net
> > + F: drivers/net/* all files in drivers/net, but not below
>
> Since somebody is going to screw up and do it - what are the semantics
> of 'drivers/net' and forgetting the trailing slash?

Looks for a specific file in the patch called drivers/net

> is it silent or noisy (if it's silent, it won't get fixed)

silent

> + F: */net/* all files in "any top level directory"/net
> Does the leading '*' match exactly one level

Yes

> or will it match foo/bar/net/* as

No match, the script counts slashes

+sub file_match_pattern {
+ my ($file, $pattern) = @_;
+ if (substr($pattern, -1) eq "/") {
+ if ($file =~ m@^$pattern@) {
+ return 1;
+ }
+ } else {
+ if ($file =~ m@^$pattern@) {
+ my $s1 = ($file =~ tr@/@@);
+ my $s2 = ($pattern =~ tr@/@@);
+ if ($s1 == $s2) {
+ return 1;
+ }
+ }
+ }
+ return 0;
+}

Enhancements appreciated.

> Is a construction like 'net/*/netfilter/*' legal?

Yes

cheers, Joe

2007-08-13 20:04:42

by Richard Knutsson

[permalink] [raw]
Subject: Re: [PATCH] [2/2many] - FInd the maintainer(s) for a patch - MAINTAINERS

Joe Perches wrote:
> It helps when you do the diff the right way.
>
> Describe the new F: pattern
>
> Signed-off-by: Joe Perches <[email protected]>
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index d3a0684..0d7f856 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -83,6 +83,13 @@ S: Status, one of the following:
> it has been replaced by a better system and you
> should be using that.
>
> +F: Files and directories with wildcard patterns.
> + A trailing slash includes all files and subdirectory files.
> + F: drivers/net/ all files in and below drivers/net
> + F: drivers/net/* all files in drivers/net, but not below
> + F: */net/* all files in "any top level directory"/net
> + One pattern per line. Multiple F: lines acceptable.
> +
> 3C359 NETWORK DRIVER
> P: Mike Phillips
> M: [email protected]
>
>
Just to be clear, which one is picked with a patch for drivers/net/foo?
Both or the most common one?

SUBSYSTEM1
P: Person 1
F: */net/

SUBSYSTEM2
P: Person 2
F: drivers/net/


Richard "the Perl-illiterate" Knutsson

2007-08-13 20:14:50

by Joe Perches

[permalink] [raw]
Subject: Re: [PATCH] [2/2many] - FInd the maintainer(s) for a patch - MAINTAINERS

On Mon, 2007-08-13 at 22:02 +0200, Richard Knutsson wrote:
> Just to be clear, which one is picked with a patch for drivers/net/foo?
> Both or the most common one?
>
> SUBSYSTEM1
> P: Person 1
> F: */net/
>
> SUBSYSTEM2
> P: Person 2
> F: drivers/net/

Both. Find a match, add, look for more.

I'm a perl "groper in the dark" myself.