Sometime, a contributer would like to be CCed on part of the changes,
and it could happen that we end-up with a section that doesn't have
any maintainer, but a Ack from a maintainer would still be needed.

Rework get_maintainer so if there's no maintainers beside THE REST, it
doesn't drop THE REST emails.

Signed-off-by: Anthony PERARD <[email protected]>
---

Notes:
    Soon, the RISCV section might be the first (I think) section without
    maintainer and without been nested in another section other than THE
    REST.
    
    Tests by checking that the following comnands returns the expected emails.
    ./scripts/get_maintainer.pl -f tools/libs/Makefile
    ./scripts/get_maintainer.pl -f xen/arch/riscv/Makefile
    ./scripts/get_maintainer.pl -f xen/arch/arm/Makefile
    
    An extra '--sections' argument list all sections, including THE REST.

 scripts/get_maintainer.pl | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl
index cf629cdf3c..533d0df72a 100755
--- a/scripts/get_maintainer.pl
+++ b/scripts/get_maintainer.pl
@@ -732,8 +732,15 @@ sub get_maintainers {
         my @email_new;
         my $do_replace = 0;
         foreach my $email (@email_to) {
-            if ($email->[1] ne 'supporter:THE REST') {
+            # Replace @email_to list with a list which drop "THE REST" if
+            # there's a role other than "reviewer", that is if there's a
+            # maintainer/supporter in a section other than THE REST.
+            if ($email->[1] ne 'supporter:THE REST' and $email->[1] ne 
'reviewer') {
                 $do_replace = 1;
+            }
+            # Prepare a new list without "THE REST", to be used if $do_replace
+            # is true.
+            if ($email->[1] ne 'supporter:THE REST') {
                 push @email_new, $email;
             }
         }
-- 
Anthony PERARD


Reply via email to