[PATCH] get_maintainer: add recipients to output of script

From: Manuel Ebner

Date: Mon Jun 08 2026 - 12:43:27 EST


Add all people tagged in all the mentioned commits to the output of this script.
This is done to give credit to people who inspired the current commit or to get
feedback from people who know the subject.

Signed-off-by: Manuel Ebner <manuelebner@xxxxxxxxxxx>
---
scripts/get_maintainer.pl | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl
index 16b80a700d4a..8c44b14391f9 100755
--- a/scripts/get_maintainer.pl
+++ b/scripts/get_maintainer.pl
@@ -30,6 +30,7 @@ my $email_usename = 1;
my $email_maintainer = 1;
my $email_reviewer = 1;
my $email_fixes = 1;
+my $email_mentioned = 0;
my $email_list = 1;
my $email_moderated_list = 1;
my $email_subscriber_list = 0;
@@ -78,6 +79,7 @@ my $exit = 0;

my @files = ();
my @fixes = (); # If a patch description includes Fixes: lines
+my @mentioned = (); # If a patch description mentiones a patch
my @range = ();
my @keyword_tvi = ();
my @file_emails = ();
@@ -264,6 +266,7 @@ if (!GetOptions(
'n!' => \$email_usename,
'l!' => \$email_list,
'fixes!' => \$email_fixes,
+ 'mentioned!' => \$email_mentioned,
'moderated!' => \$email_moderated_list,
's!' => \$email_subscriber_list,
'multiline!' => \$output_multiline,
@@ -606,6 +609,8 @@ foreach my $file (@ARGV) {
push(@files, $filename2);
} elsif (m/^Fixes:\s+([0-9a-fA-F]{6,40})/) {
push(@fixes, $1) if ($email_fixes);
+ } elsif (m/\s+([0-9a-fA-F]{6,40})/) {
+ push(@mentioned, $1) if ($email_mentioned);
} elsif (m/^\+\+\+\s+(\S+)/ or m/^---\s+(\S+)/) {
my $filename = $1;
$filename =~ s@^[^/]*/@@;
@@ -637,6 +642,7 @@ foreach my $file (@ARGV) {

@file_emails = uniq(@file_emails);
@fixes = uniq(@fixes);
+@mentioned = uniq(@mentioned);

my %email_hash_name;
my %email_hash_address;
@@ -1038,6 +1044,10 @@ sub get_maintainers {
vcs_add_commit_signers($fix, "blamed_fixes");
}

+ foreach my $mention (@mentioned) {
+ vcs_add_commit_signers($mention, "in mentioned Patch");
+ }
+
my @to = ();
if ($email || $email_list) {
if ($email) {
@@ -1106,6 +1116,7 @@ MAINTAINER field selection options:
--substatus => show subsystem status if not Maintained (default: match --roles when output is tty)"
--file-emails => add email addresses found in -f file (default: 0 (off))
--fixes => for patches, add signatures of commits with 'Fixes: <commit>' (default: 1 (on))
+ --mentioned => for patches, add signatures in mentioned commits with hashes between 6 and 40 chars long (default: 1 (on))
--scm => print SCM tree(s) if any
--status => print status if any
--subsystem => print subsystem name if any
--
2.54.0