mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
scripts/get_maintainers.pl: Don't blindly drop "THE REST" maintainers
"THE REST" maintainers should always be CCed for any modification that don't fall under the responsability of a specific component maintainer. However, the script get_maintainers.pl will remove "THE REST" maintainers as soon as one maintainer of a specific component will be present. Fix the script once for all. Signed-off-by: Julien Grall <julien.grall@arm.com> Acked-by: Wei Liu <wei.liu2@citrix.com>
This commit is contained in:
1 parent
bd59ee9fdf
commit
49b1ea9e0e
1 file changed
+17
-1
@@ -571,11 +571,15 @@ sub get_maintainers {
|
||||
# Find responsible parties
|
||||
|
||||
my %exact_pattern_match_hash = ();
|
||||
# By default "THE REST" will be suppressed.
|
||||
my $suppress_the_rest = 1;
|
||||
|
||||
foreach my $file (@files) {
|
||||
|
||||
my %hash;
|
||||
my $tvi = find_first_section();
|
||||
# Unless stated otherwise, a file is maintained by "THE REST"
|
||||
my $file_maintained_by_the_rest = 1;
|
||||
while ($tvi < @typevalue) {
|
||||
my $start = find_starting_index($tvi);
|
||||
my $end = find_ending_index($tvi);
|
||||
@@ -633,6 +637,14 @@ sub get_maintainers {
|
||||
|
||||
foreach my $line (sort {$hash{$b} <=> $hash{$a}} keys %hash) {
|
||||
add_categories($line);
|
||||
my $role = get_maintainer_role($line);
|
||||
|
||||
# Check the role, if it is not "THE REST" then the file is not
|
||||
# only maintained by "THE REST".
|
||||
if ( get_maintainer_role($line) ne "supporter:THE REST" ) {
|
||||
$file_maintained_by_the_rest = 0;
|
||||
}
|
||||
|
||||
if ($sections) {
|
||||
my $i;
|
||||
my $start = find_starting_index($line);
|
||||
@@ -657,6 +669,9 @@ sub get_maintainers {
|
||||
print("\n");
|
||||
}
|
||||
}
|
||||
# If the file is only maintained by "THE REST", then CC all of them on
|
||||
# the patch.
|
||||
$suppress_the_rest = 0 if $file_maintained_by_the_rest;
|
||||
}
|
||||
|
||||
if ($keywords) {
|
||||
@@ -666,7 +681,8 @@ sub get_maintainers {
|
||||
}
|
||||
}
|
||||
|
||||
if ($email_drop_the_rest_supporter_if_supporter_found && $#email_to > 0) {
|
||||
if ($email_drop_the_rest_supporter_if_supporter_found &&
|
||||
$suppress_the_rest && $#email_to > 0) {
|
||||
my @email_new;
|
||||
my $do_replace = 0;
|
||||
foreach my $email (@email_to) {
|
||||
|
||||