Re: [PATCH] get_maintainer: Add --cc option

From: Joe Perches
Date: Mon Jun 24 2019 - 16:42:19 EST


On Mon, 2019-06-24 at 22:25 +0200, Peter Zijlstra wrote:
> On Mon, Jun 24, 2019 at 07:27:47AM -0700, Joe Perches wrote:
> > On Mon, 2019-06-24 at 15:33 +0200, Peter Zijlstra wrote:
> > > On Mon, Jun 24, 2019 at 03:03:23PM +0200, Sebastian Andrzej Siewior wrote:
> > > > The --cc adds a Cc: prefix infront of the email address so it can be
> > > > used by other Scripts directly instead of adding another wrapper for
> > > > this.
> >
> > Not sure I like the "--cc" option naming.
> > Maybe "--prefix [string]" to be a bit more generic.
> >
> > > Would it make sense to make '--cc' imply --no-roles --no-rolestats ?
> >
> > Maybe.
> >
> > It's also unlikely to be sensibly used with mailing
> > lists so maybe --nol too.
>
> Is there also an option to exclude moderated lists?

Nope. Not yet ;)

> --no-s doesn't seem to do that.

I suppose a --nomoderated could work. (-m is already maintainers)

> I hate it when people cross-post to moderated lists, and
> this thing just made me do it :-(

Maybe:
---
scripts/get_maintainer.pl | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl
index c1c088ef1420..8c2fc22f3a11 100755
--- a/scripts/get_maintainer.pl
+++ b/scripts/get_maintainer.pl
@@ -27,6 +27,7 @@ my $email_usename = 1;
my $email_maintainer = 1;
my $email_reviewer = 1;
my $email_list = 1;
+my $email_moderated_list = 1;
my $email_subscriber_list = 0;
my $email_git_penguin_chiefs = 0;
my $email_git = 0;
@@ -248,6 +249,7 @@ if (!GetOptions(
'r!' => \$email_reviewer,
'n!' => \$email_usename,
'l!' => \$email_list,
+ 'moderated!' => \$email_moderated_list,
's!' => \$email_subscriber_list,
'multiline!' => \$output_multiline,
'roles!' => \$output_roles,
@@ -1023,7 +1025,8 @@ MAINTAINER field selection options:
--r => include reviewer(s) if any
--n => include name 'Full Name <addr\@domain.tld>'
--l => include list(s) if any
- --s => include subscriber only list(s) if any
+ --moderated => include moderated lists(s) if any (default: true)
+ --s => include subscriber only list(s) if any (default: false)
--remove-duplicates => minimize duplicate email names/addresses
--roles => show roles (status:subsystem, git-signer, list, etc...)
--rolestats => show roles and statistics (commits/total_commits, %)
@@ -1313,11 +1316,14 @@ sub add_categories {
} else {
if ($email_list) {
if (!$hash_list_to{lc($list_address)}) {
- $hash_list_to{lc($list_address)} = 1;
if ($list_additional =~ m/moderated/) {
- push(@list_to, [$list_address,
- "moderated list${list_role}"]);
+ if ($email_moderated_list) {
+ $hash_list_to{lc($list_address)} = 1;
+ push(@list_to, [$list_address,
+ "moderated list${list_role}"]);
+ }
} else {
+ $hash_list_to{lc($list_address)} = 1;
push(@list_to, [$list_address,
"open list${list_role}"]);
}