threads / patch / 45994

patchsend-email: Add tocmd option to suppress-cc

Subject: [PATCH] send-email: Add tocmd option to suppress-cc

## tl;dr

7 messages between May 18, 2017 and Jun 14, 2017. Diffs are folded; open one to read it.

replies: 6people: 2as markdown or json

Viresh Kumar· May 18, 2017, 11:35 UTC · lore

This adds tocmd option to suppress-cc command which already supports cccmd and others.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 Documentation/git-send-email.txt | 1 +
 git-send-email.perl              | 8 ++++----
 2 files changed, 5 insertions(+), 4 deletions(-)
Show changes to 2 files +5 −4

Documentation/git-send-email.txt, git-send-email.perl

diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
index 9d66166f69d9..f1634f7db3df 100644
--- a/Documentation/git-send-email.txt
+++ b/Documentation/git-send-email.txt
@@ -307,6 +307,7 @@ Automating
   patch body (commit message) except for self (use 'self' for that).
 - 'sob' will avoid including anyone mentioned in Signed-off-by lines except
    for self (use 'self' for that).
+- 'tocmd' will avoid running the --to-cmd.
 - 'cccmd' will avoid running the --cc-cmd.
 - 'body' is equivalent to 'sob' + 'bodycc'
 - 'all' will suppress all auto cc values.
diff --git a/git-send-email.perl b/git-send-email.perl
index eea0a517f71b..cc3cd984aee4 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -85,7 +85,7 @@ git send-email --dump-aliases
     --identity              <str>  * Use the sendemail.<id> options.
     --to-cmd                <str>  * Email To: via `<str> \$patch_path`
     --cc-cmd                <str>  * Email Cc: via `<str> \$patch_path`
-    --suppress-cc           <str>  * author, self, sob, cc, cccmd, body, bodycc, all.
+    --suppress-cc           <str>  * author, self, sob, cc, tocmd, cccmd, body, bodycc, all.
     --[no-]cc-cover                * Email Cc: addresses in the cover letter.
     --[no-]to-cover                * Email To: addresses in the cover letter.
     --[no-]signed-off-by-cc        * Send to Signed-off-by: addresses. Default on.
@@ -435,13 +435,13 @@ my(%suppress_cc);
 if (@suppress_cc) {
 	foreach my $entry (@suppress_cc) {
 		die sprintf(__("Unknown --suppress-cc field: '%s'\n"), $entry)
-			unless $entry =~ /^(?:all|cccmd|cc|author|self|sob|body|bodycc)$/;
+			unless $entry =~ /^(?:all|tocmd|cccmd|cc|author|self|sob|body|bodycc)$/;
 		$suppress_cc{$entry} = 1;
 	}
 }
 
 if ($suppress_cc{'all'}) {
-	foreach my $entry (qw (cccmd cc author self sob body bodycc)) {
+	foreach my $entry (qw (tocmd cccmd cc author self sob body bodycc)) {
 		$suppress_cc{$entry} = 1;
 	}
 	delete $suppress_cc{'all'};
@@ -1582,7 +1582,7 @@ foreach my $t (@files) {
 	close $fh;
 
 	push @to, recipients_cmd("to-cmd", "to", $to_cmd, $t)
-		if defined $to_cmd;
+		if defined $to_cmd && !$suppress_cc{'tocmd'};
 	push @cc, recipients_cmd("cc-cmd", "cc", $cc_cmd, $t)
 		if defined $cc_cmd && !$suppress_cc{'cccmd'};
 
-- 
2.13.0.70.g6367777092d9
Viresh Kumar· Jun 12, 2017, 04:33 UTC · re: Viresh Kumar · lore

Re: [PATCH] send-email: Add tocmd option to suppress-cc

On 18-05-17, 17:05, Viresh Kumar wrote:
Show 8 quoted lines
> This adds tocmd option to suppress-cc command which already supports
> cccmd and others.
> 
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
>  Documentation/git-send-email.txt | 1 +
>  git-send-email.perl              | 8 ++++----
>  2 files changed, 5 insertions(+), 4 deletions(-)
Ping !!
-- 
viresh
Junio C Hamano· Jun 12, 2017, 16:11 UTC · re: Viresh Kumar · lore

Re: [PATCH] send-email: Add tocmd option to suppress-cc

Viresh Kumar <viresh.kumar@linaro.org> writes:
Show 11 quoted lines
> On 18-05-17, 17:05, Viresh Kumar wrote:
>> This adds tocmd option to suppress-cc command which already supports
>> cccmd and others.
>> 
>> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
>> ---
>>  Documentation/git-send-email.txt | 1 +
>>  git-send-email.perl              | 8 ++++----
>>  2 files changed, 5 insertions(+), 4 deletions(-)
>
> Ping !!
Pong?

I didn't get the impression that in the discussion that led to your patch (or in any response to the patch) we established that it is a good idea to change the behaviour of suppress-cc unconditionally like this patch does.

Junio C Hamano· Jun 12, 2017, 18:04 UTC · re: Junio C Hamano · lore

Re: [PATCH] send-email: Add tocmd option to suppress-cc

Junio C Hamano <gitster@pobox.com> writes:
Show 20 quoted lines
> Viresh Kumar <viresh.kumar@linaro.org> writes:
>
>> On 18-05-17, 17:05, Viresh Kumar wrote:
>>> This adds tocmd option to suppress-cc command which already supports
>>> cccmd and others.
>>> 
>>> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
>>> ---
>>>  Documentation/git-send-email.txt | 1 +
>>>  git-send-email.perl              | 8 ++++----
>>>  2 files changed, 5 insertions(+), 4 deletions(-)
>>
>> Ping !!
>
> Pong?
>
> I didn't get the impression that in the discussion that led to your
> patch (or in any response to the patch) we established that it is a
> good idea to change the behaviour of suppress-cc unconditionally
> like this patch does.

I think suppress-cc that suppresses cccmd output is very sensible (after all, it is about suppressing CC and cccmd is about producing CC), but I am not convinced that it is a good idea to suppress tocmd (which is about producing To) via suppress-cc.

Going back to the core part of your change, i.e.

- foreach my $entry (qw (cccmd cc author self sob body bodycc)) { + foreach my $entry (qw (tocmd cccmd cc author self sob body bodycc)) {

to think about it a bit more, I notice that all the existing ones are about CC. So I am not just not convinced that tocmd belongs to the same class. I am inclined to say that it smells quite different from others.

Viresh Kumar· Jun 13, 2017, 03:43 UTC · re: Junio C Hamano · lore

Re: [PATCH] send-email: Add tocmd option to suppress-cc

On 12-06-17, 11:04, Junio C Hamano wrote:
Show 22 quoted lines
> Junio C Hamano <gitster@pobox.com> writes:
> 
> > Viresh Kumar <viresh.kumar@linaro.org> writes:
> >
> >> On 18-05-17, 17:05, Viresh Kumar wrote:
> >>> This adds tocmd option to suppress-cc command which already supports
> >>> cccmd and others.
> >>> 
> >>> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> >>> ---
> >>>  Documentation/git-send-email.txt | 1 +
> >>>  git-send-email.perl              | 8 ++++----
> >>>  2 files changed, 5 insertions(+), 4 deletions(-)
> >>
> >> Ping !!
> >
> > Pong?
> >
> > I didn't get the impression that in the discussion that led to your
> > patch (or in any response to the patch) we established that it is a
> > good idea to change the behaviour of suppress-cc unconditionally
> > like this patch does.

Yeah, there were no conclusions there but we agreed that we have a problem to solve. And this patch tried one of the ways.

Show 14 quoted lines
> I think suppress-cc that suppresses cccmd output is very sensible
> (after all, it is about suppressing CC and cccmd is about producing
> CC), but I am not convinced that it is a good idea to suppress tocmd
> (which is about producing To) via suppress-cc.
> 
> Going back to the core part of your change, i.e.
> 
> -	foreach my $entry (qw (cccmd cc author self sob body bodycc)) {
> +	foreach my $entry (qw (tocmd cccmd cc author self sob body bodycc)) {
> 
> to think about it a bit more, I notice that all the existing ones
> are about CC.  So I am not just not convinced that tocmd belongs to
> the same class.  I am inclined to say that it smells quite different
> from others.
That's right but how do we solve this problem then?

Add another optional argument like suppress-to ? I thought that it would be better to override suppress-cc rather than attempting any such thing.

I am fine with any solution that address the concerns raised by this patch though.

-- 
viresh
Junio C Hamano· Jun 13, 2017, 17:23 UTC · re: Viresh Kumar · lore

Re: [PATCH] send-email: Add tocmd option to suppress-cc

Viresh Kumar <viresh.kumar@linaro.org> writes:
Show 18 quoted lines
>> Going back to the core part of your change, i.e.
>> 
>> -	foreach my $entry (qw (cccmd cc author self sob body bodycc)) {
>> +	foreach my $entry (qw (tocmd cccmd cc author self sob body bodycc)) {
>> 
>> to think about it a bit more, I notice that all the existing ones
>> are about CC.  So I am not just not convinced that tocmd belongs to
>> the same class.  I am inclined to say that it smells quite different
>> from others.
>
> That's right but how do we solve this problem then?
>
> Add another optional argument like suppress-to ? I thought that it
> would be better to override suppress-cc rather than attempting any
> such thing.
>
> I am fine with any solution that address the concerns raised by this
> patch though.

I am not sure what problem is being solved, quite honestly. "I have tocmd configured and I want a way not to specify tocmd for a single invocation?" Would something along the lines of

    git -c sendemail.tocmd=true send-email ...

how you do it in general? Do you want a prettier-looking equivalent, e.g.

    git send-email --tocmd=true ...
or something like that?
Viresh Kumar· Jun 14, 2017, 03:47 UTC · re: Junio C Hamano · lore

Re: [PATCH] send-email: Add tocmd option to suppress-cc

On 13-06-17, 10:23, Junio C Hamano wrote:
Show 28 quoted lines
> Viresh Kumar <viresh.kumar@linaro.org> writes:
> 
> >> Going back to the core part of your change, i.e.
> >> 
> >> -	foreach my $entry (qw (cccmd cc author self sob body bodycc)) {
> >> +	foreach my $entry (qw (tocmd cccmd cc author self sob body bodycc)) {
> >> 
> >> to think about it a bit more, I notice that all the existing ones
> >> are about CC.  So I am not just not convinced that tocmd belongs to
> >> the same class.  I am inclined to say that it smells quite different
> >> from others.
> >
> > That's right but how do we solve this problem then?
> >
> > Add another optional argument like suppress-to ? I thought that it
> > would be better to override suppress-cc rather than attempting any
> > such thing.
> >
> > I am fine with any solution that address the concerns raised by this
> > patch though.
> 
> I am not sure what problem is being solved, quite honestly.  "I have
> tocmd configured and I want a way not to specify tocmd for a single
> invocation?"  Would something along the lines of 
> 
>     git -c sendemail.tocmd=true send-email ...
> 
> how you do it in general?
Yeah, it works. I can use this instead.
This patch can be dropped now. Thanks.
-- 
viresh

← back to recent threads