forked from Minki/linux
scripts/get_maintainer.pl: use --git-fallback more often
On Fri, 2010-11-05 at 13:50 -0700, Andrew Morton wrote: > z:/usr/src/git26> perl scripts/get_maintainer.pl -file mm/mempolicy.c > linux-mm@kvack.org > linux-kernel@vger.kernel.org Turns out this is an arguable defect in the script. The MAINTAINERS entry for mm is: MEMORY MANAGEMENT L: linux-mm@kvack.org W: http://www.linux-mm.org S: Maintained F: include/linux/mm.h F: mm/ There's a maintainer entry, but no named individual, so the script doesn't use git history via --git-fallback. This is also a defect for MAINTAINERS with status entries marked "Orphan" or "Odd fixes". The script now checks a section for any "M:" entry and that an "S:" entry is supported or maintained. If both those conditions are not satisified, use --git-fallback as appropriate. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
7e1863af16
commit
ab6c937dba
@ -494,6 +494,40 @@ if ($web) {
|
||||
|
||||
exit($exit);
|
||||
|
||||
sub range_is_maintained {
|
||||
my ($start, $end) = @_;
|
||||
|
||||
for (my $i = $start; $i < $end; $i++) {
|
||||
my $line = $typevalue[$i];
|
||||
if ($line =~ m/^(\C):\s*(.*)/) {
|
||||
my $type = $1;
|
||||
my $value = $2;
|
||||
if ($type eq 'S') {
|
||||
if ($value =~ /(maintain|support)/i) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
sub range_has_maintainer {
|
||||
my ($start, $end) = @_;
|
||||
|
||||
for (my $i = $start; $i < $end; $i++) {
|
||||
my $line = $typevalue[$i];
|
||||
if ($line =~ m/^(\C):\s*(.*)/) {
|
||||
my $type = $1;
|
||||
my $value = $2;
|
||||
if ($type eq 'M') {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
sub get_maintainers {
|
||||
%email_hash_name = ();
|
||||
%email_hash_address = ();
|
||||
@ -556,7 +590,9 @@ sub get_maintainers {
|
||||
my $file_pd = ($file =~ tr@/@@);
|
||||
$value_pd++ if (substr($value,-1,1) ne "/");
|
||||
$value_pd = -1 if ($value =~ /^\.\*/);
|
||||
if ($value_pd >= $file_pd) {
|
||||
if ($value_pd >= $file_pd &&
|
||||
range_is_maintained($start, $end) &&
|
||||
range_has_maintainer($start, $end)) {
|
||||
$exact_pattern_match_hash{$file} = 1;
|
||||
}
|
||||
if ($pattern_depth == 0 ||
|
||||
|
Loading…
Reference in New Issue
Block a user