[PATCH] scripts/get_maintainer.pl: Default to --no-rolestats whenoutput not a terminal

From: Josh Triplett
Date: Fri Aug 03 2012 - 14:27:09 EST


scripts/get_maintainer.pl defaults to showing --rolestats, which
provides annotations explaining why each person or list might want to
know about a patch. This works well for interactive use, but breaks
when used with git send-email's --to-cmd or --cc-cmd, resulting in
malformed email headers and mails sent to some but not all recipients.

To avoid the need to explicitly pass --no-rolestats for batch use,
enable --rolestats by default only when outputting to a terminal.

Reported-by: Alex Kelly <alex.page.kelly@xxxxxxxxx>
Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx>
---
scripts/get_maintainer.pl | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl
index 8b673dd..dcb0748 100755
--- a/scripts/get_maintainer.pl
+++ b/scripts/get_maintainer.pl
@@ -40,7 +40,8 @@ my $email_use_mailmap = 1;
my $output_multiline = 1;
my $output_separator = ", ";
my $output_roles = 0;
-my $output_rolestats = 1;
+my $output_rolestats = 0;
+$output_rolestats = 1 if -t STDOUT;
my $scm = 0;
my $web = 0;
my $subsystem = 0;
@@ -768,7 +769,8 @@ Other options:

Default options:
[--email --nogit --git-fallback --m --n --l --multiline -pattern-depth=0
- --remove-duplicates --rolestats]
+ --remove-duplicates]
+ When outputting to a terminal, --rolestats defaults to enabled.

Notes:
Using "-f directory" may give unexpected results:
@@ -781,9 +783,10 @@ Notes:
Used with "--git-blame", does not iterate all files in directory
Using "--git-blame" is slow and may add old committers and authors
that are no longer active maintainers to the output.
- Using "--roles" or "--rolestats" with git send-email --cc-cmd or any
- other automated tools that expect only ["name"] <email address>
- may not work because of additional output after <email address>.
+ Using "--roles" or "--rolestats" with git send-email --to-cmd or --cc-cmd, or
+ any other automated tools that expect only ["name"] <email address> may
+ not work because of additional output after <email address>. These
+ options default to disabled when not outputting to a terminal.
Using "--rolestats" and "--git-blame" shows the #/total=% commits,
not the percentage of the entire file authored. # of commits is
not a good measure of amount of code authored. 1 major commit may
--
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/