[PATCH 1/1] get_maintainer.pl: add --cc option to produce comma separated list of emails

From: Jim Cromie

Date: Thu Mar 19 2026 - 12:17:17 EST


This new option works as follows:

git send-email --cc=$(scripts/get_maintainer.pl -cc 0*.patch) 0*.patch

A complementary patch has been sent to git@xxxxxxxxxxxxxxx, allowing:

git send-email --cc=scripts/get_maintainer.pl 0*.patch

send-email recognizes that its single arg is executable, and runs it
in a subshell with --cc @ARGV, eliminating the chance that the user
forgets options and arguments.

It also does the same for --to and --bcc, in case get_maintainer can
usefully distinguish who should get the to's from the cc's.

cc: git@xxxxxxxxxxxxxxx
Signed-off-by: Jim Cromie <jim.cromie@xxxxxxxxx>
---
scripts/get_maintainer.pl | 12 ++++++++++++
1 file changed, 12 insertions(+)

diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl
index 4414194bedcf..6c9ca793fd6e 100755
--- a/scripts/get_maintainer.pl
+++ b/scripts/get_maintainer.pl
@@ -48,6 +48,7 @@ my $email_remove_duplicates = 1;
my $email_use_mailmap = 1;
my $output_multiline = 1;
my $output_separator = ", ";
+my $output_cc = 0;
my $output_roles = 0;
my $output_rolestats = 1;
my $output_substatus = undef;
@@ -265,6 +266,7 @@ if (!GetOptions(
'moderated!' => \$email_moderated_list,
's!' => \$email_subscriber_list,
'multiline!' => \$output_multiline,
+ 'cc!' => \$output_cc,
'roles!' => \$output_roles,
'rolestats!' => \$output_rolestats,
'separator=s' => \$output_separator,
@@ -320,6 +322,15 @@ if (!defined $output_substatus) {
$output_substatus = $email && $output_roles && -t STDOUT;
}

+if ($output_cc) {
+ $email_usename = 0;
+ $output_multiline = 0;
+ $output_separator = ",";
+ $output_rolestats = 0;
+ $output_roles = 0;
+ $output_substatus = 0;
+}
+
if ($sections || $letters ne "") {
$sections = 1;
$email = 0;
@@ -1096,6 +1107,7 @@ MAINTAINER field selection options:
--bug => print bug reporting info if any

Output type options:
+ --cc => print comma separated list of all emails
--separator [, ] => separator for multiple entries on 1 line
using --separator also sets --nomultiline if --separator is not [, ]
--multiline => print 1 entry per line
--
2.53.0