All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.