Re: Suppressing auto-cc for specific addresses
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Aug 8, 2011, 21:17 UTC
- Message-ID
- <20110808211726.GA18619@elie.gateway.2wire.net>
- In-Reply-To
- <4E3EF38A.9010307@gmail.com>
(+cc: some send-email people) Hi,
Daniel Mack wrote:
> 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.
Makes sense. Could you please add a quick commit message, following the guidelines in Documentation/SubmittingPatches (i.e., explaining the problem this intends to solve and justifying how it is solved)?
Patch left untrimmed for Joe and Ævar's convenience. Thanks and hope that helps.
Show 78 quoted lines
> 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