Subject: Re: [PATCH] git-send-email: Add --suppress-all-from option.

From: Joel Becker <[email-masked]>
Date: Fri, 21 Dec 2007 03:05:32 -0800

On Thu, Dec 20, 2007 at 10:01:00PM -0800, David Brown wrote:
> Sometimes, it is useful to be able to send a patch to a third party
s/Sometimes/Most of the time/g

> without the author of the patch being copied on the message.  An
> common example would be an internal discussion at a company to ask if
> a particular patch should be applied.  Some environments may even have
> policy against such mail being sent outside of the company.
> 
> Add the --suppress-all-from/--no-suppress-all-from options to avoid
> sending patches to the patch author, even if different from the
> sender.  Add the sendemail.suppressallfrom config option to allow this
> to have a different default.
> 
> Signed-off-by: David Brown <[email-masked]>
Please-dog-yes: Joel Becker <[email-masked]>

> ---
>  Documentation/git-send-email.txt |    7 +++++++
>  git-send-email.perl              |    9 ++++++++-
>  2 files changed, 15 insertions(+), 1 deletions(-)
> 
> diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
> index f0bd285..5d06264 100644
> --- a/Documentation/git-send-email.txt
> +++ b/Documentation/git-send-email.txt
> @@ -117,6 +117,13 @@ The --cc option must be repeated for each user you want on the cc list.
>          Default is the value of 'sendemail.suppressfrom' configuration value;
>          if that is unspecified, default to --no-suppress-from.
>  
> +--suppress-all-from, --no-suppress-all-from::
> +        If this is set, do not add the From: address to the cc: list,
> +        even if it is different than the person sending the email.
> +        Default is the value of the 'sendemail.suppressallfrom'
> +        configuration value; if that is unspecified, default to
> +        -no-suppress-all-from.
> +
>  --thread, --no-thread::
>  	If this is set, the In-Reply-To header will be set on each email sent.
>  	If disabled with "--no-thread", no emails will have the In-Reply-To
> diff --git a/git-send-email.perl b/git-send-email.perl
> index 248d035..80265b5 100755
> --- a/git-send-email.perl
> +++ b/git-send-email.perl
> @@ -90,6 +90,9 @@ Options:
>  
>     --suppress-from Suppress sending emails to yourself. Defaults to off.
>  
> +   --suppress-all-from Never automatically send to a patch author.
> +                  Defaults to off.
> +
>     --thread       Specify that the "In-Reply-To:" header should be set on all
>                    emails. Defaults to on.
>  
> @@ -174,7 +177,8 @@ if ($@) {
>  my ($quiet, $dry_run) = (0, 0);
>  
>  # Variables with corresponding config settings
> -my ($thread, $chain_reply_to, $suppress_from, $signed_off_cc, $cc_cmd);
> +my ($thread, $chain_reply_to, $suppress_from, $suppress_all_from);
> +my ($signed_off_cc, $cc_cmd);
>  my ($smtp_server, $smtp_server_port, $smtp_authuser, $smtp_authpass, $smtp_ssl);
>  my ($identity, $aliasfiletype, @alias_files, @smtp_host_parts);
>  
> @@ -182,6 +186,7 @@ my %config_bool_settings = (
>      "thread" => [\$thread, 1],
>      "chainreplyto" => [\$chain_reply_to, 1],
>      "suppressfrom" => [\$suppress_from, 0],
> +    "suppressallfrom" => [\$suppress_all_from, 0],
>      "signedoffcc" => [\$signed_off_cc, 1],
>      "smtpssl" => [\$smtp_ssl, 0],
>  );
> @@ -218,6 +223,7 @@ my $rc = GetOptions("sender|from=s" => \$sender,
>  		    "quiet" => \$quiet,
>  		    "cc-cmd=s" => \$cc_cmd,
>  		    "suppress-from!" => \$suppress_from,
> +		    "suppress-all-from!" => \$suppress_all_from,
>  		    "signed-off-cc|signed-off-by-cc!" => \$signed_off_cc,
>  		    "dry-run" => \$dry_run,
>  		    "envelope-sender=s" => \$envelope_sender,
> @@ -700,6 +706,7 @@ foreach my $t (@files) {
>  					$subject = $1;
>  
>  				} elsif (/^(Cc|From):\s+(.*)$/) {
> +					next if ($suppress_all_from);
>  					if (unquote_rfc2047($2) eq $sender) {
>  						next if ($suppress_from);
>  					}
> -- 
> 1.5.3.7
> 
> -
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to [email-masked]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 

Life's Little Instruction Book #456

	"Send your loved one flowers.  Think of a reason later."

Joel Becker
Principal Software Developer
Oracle
E-mail: [email-masked]
Phone: (650) 506-8127