git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Mack <zonque@gmail.com>
To: git@vger.kernel.org
Cc: Greg Kroah-Hartman <greg@kroah.com>
Subject: Suppressing auto-cc for specific addresses
Date: Sun, 07 Aug 2011 22:20:26 +0200	[thread overview]
Message-ID: <4E3EF38A.9010307@gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 655 bytes --]

Hi,

I'm looking for a way to suppress certain Cc: fields that are normally 
automatically added for addresses mentioned in Cc: lines found in patches.

In particular, the kernel rules for marking patches for stable release 
inclusion wants users to add a "Cc: stable@kernel.org" line in the patch 
itself but to not actually send a copy of that patch to that address. It 
will be picked automatically once the patch was applied upstream.

I couldn't find a proper way to do that with git send-email, so I dare 
to come up with a patch proposal. Is that acceptable or is there any 
better way (which I'm not aware about) to achive this?



Thanks,
Daniel

[-- Attachment #2: 0001-send-email-Allow-email-addresses-and-domains-as-supp.patch --]
[-- Type: text/plain, Size: 2899 bytes --]

From f1a17a4fbc0373283696cb560afff3afa05c2e8f Mon Sep 17 00:00:00 2001
From: Daniel Mack <zonque@gmail.com>
Date: Sun, 7 Aug 2011 22:16:00 +0200
Subject: [PATCH] send-email: Allow email addresses and domains as
 --suppress-cc options

Signed-off-by: Daniel Mack <zonque@gmail.com>
---
 Documentation/git-send-email.txt |   10 +++++++---
 git-send-email.perl              |   12 +++++++++++-
 2 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
index 327233c..5966abb 100644
--- a/Documentation/git-send-email.txt
+++ b/Documentation/git-send-email.txt
@@ -233,9 +233,9 @@ Automating
 	cc list. Default is the value of 'sendemail.signedoffbycc' configuration
 	value; if that is unspecified, default to --signed-off-by-cc.
 
---suppress-cc=<category>::
-	Specify an additional category of recipients to suppress the
-	auto-cc of:
+--suppress-cc=<category|address|domain>::
+	Specify an additional category, email address or domain of recipients
+	to suppress the auto-cc for. Possible categories are:
 +
 --
 - 'author' will avoid including the patch author
@@ -251,6 +251,10 @@ Automating
 - 'all' will suppress all auto cc values.
 --
 +
+If a full email address is given, auto-cc will be suppressed for this particular
+address. This also works for entire domains if the parameter starts with the '@'
+sign. All email addresses in that domain will hence be ignored by auto-cc.
++
 Default is the value of 'sendemail.suppresscc' configuration value; if
 that is unspecified, default to 'self' if --suppress-from is
 specified, as well as 'body' if --no-signed-off-cc is specified.
diff --git a/git-send-email.perl b/git-send-email.perl
index 98ab33a..22813e5 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -374,7 +374,7 @@ my(%suppress_cc);
 if (@suppress_cc) {
 	foreach my $entry (@suppress_cc) {
 		die "Unknown --suppress-cc field: '$entry'\n"
-			unless $entry =~ /^(?:all|cccmd|cc|author|self|sob|body|bodycc)$/;
+			unless $entry =~ /^(?:all|cccmd|cc|author|self|sob|body|bodycc|.*@.*)$/;
 		$suppress_cc{$entry} = 1;
 	}
 }
@@ -1213,6 +1213,11 @@ foreach my $t (@files) {
 					} else {
 						next if ($suppress_cc{'cc'});
 					}
+					next if ($suppress_cc{$addr});
+					if ($addr =~ /^(.+)(@.+)$/) {
+						my $domain = $2;
+						next if $suppress_cc{$domain};
+					}
 					printf("(mbox) Adding cc: %s from line '%s'\n",
 						$addr, $_) unless $quiet;
 					push @cc, $addr;
@@ -1261,6 +1266,11 @@ foreach my $t (@files) {
 				next if $suppress_cc{'sob'} and $what =~ /Signed-off-by/i;
 				next if $suppress_cc{'bodycc'} and $what =~ /Cc/i;
 			}
+			next if ($suppress_cc{$c});
+			if ($c =~ /^(.+)(@.+)$/) {
+				my $domain = $2;
+				next if $suppress_cc{$domain};
+			}
 			push @cc, $c;
 			printf("(body) Adding cc: %s from line '%s'\n",
 				$c, $_) unless $quiet;
-- 
1.7.6


             reply	other threads:[~2011-08-07 20:20 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-07 20:20 Daniel Mack [this message]
2011-08-07 23:46 ` Suppressing auto-cc for specific addresses Greg KH
2011-08-08  7:24   ` Daniel Mack
     [not found]     ` <D95ADFD4-2504-4BE6-BCD4-7B916F6F2FEB@gmail.com>
2011-08-08 10:58       ` Daniel Mack
2011-08-08 20:44         ` Jeff King
2011-08-08 21:01           ` Daniel Mack
2011-08-08 21:11             ` Greg KH
2011-08-08 21:07           ` Jonathan Nieder
2011-08-09  7:01             ` Jeff King
2011-08-09  7:40               ` Daniel Mack
2011-08-08 21:17 ` Jonathan Nieder
2011-08-09  1:41   ` Joe Perches

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E3EF38A.9010307@gmail.com \
    --to=zonque@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=greg@kroah.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).