threads / patch / 43917

patchtransport: report missing submodule pushes consistently on stderr

Subject: [PATCH] transport: report missing submodule pushes consistently on stderr

## tl;dr

4 messages between Aug 23, 2016 and Aug 26, 2016. Diffs are folded; open one to read it.

replies: 3people: 2as markdown or json

Stefan Beller· Aug 23, 2016, 21:40 UTC · lore

The surrounding advice is printed to stderr, but the list of submodules is not. Make the report consistent by reporting everything to stderr.

Signed-off-by: Stefan Beller <sbeller@google.com>
---
  This fixes one of the bugs mentioned in
  https://public-inbox.org/git/CAGZ79kbkyupBJfvyX3Hj_R5ZW36+3ufOnnLC-Dpic40nPJAxDA@mail.gmail.com/T/#t
  
  How to fix the other was not as obvious to me as I do not understand the
  philosophy on verbosity in the transport code.
  
  Thanks,
  Stefan
 transport.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Show changes to transport.c +1 −1
diff --git a/transport.c b/transport.c
index cf8de6e..94d6dc3 100644
--- a/transport.c
+++ b/transport.c
@@ -771,7 +771,7 @@ static void die_with_unpushed_submodules(struct string_list *needs_pushing)
 	fprintf(stderr, _("The following submodule paths contain changes that can\n"
 			"not be found on any remote:\n"));
 	for (i = 0; i < needs_pushing->nr; i++)
-		printf("  %s\n", needs_pushing->items[i].string);
+		fprintf(stderr, "  %s\n", needs_pushing->items[i].string);
 	fprintf(stderr, _("\nPlease try\n\n"
 			  "	git push --recurse-submodules=on-demand\n\n"
 			  "or cd to the path and use\n\n"
-- 
2.10.0.rc1.1.g1ceb01a
Leandro Lucarella· Aug 24, 2016, 10:28 UTC · re: Stefan Beller · lore

Re: [PATCH] transport: report missing submodule pushes consistently on stderr

On Tue, 23 Aug 2016 14:40:08 -0700 Stefan Beller <sbeller@google.com> wrote:

Show 12 quoted lines
> The surrounding advice is printed to stderr, but the list of
> submodules is not. Make the report consistent by reporting everything
> to stderr.
> 
> Signed-off-by: Stefan Beller <sbeller@google.com>
> ---
> 
>   This fixes one of the bugs mentioned in
>   https://public-inbox.org/git/CAGZ79kbkyupBJfvyX3Hj_R5ZW36+3ufOnnLC-Dpic40nPJAxDA@mail.gmail.com/T/#t
>   
>   How to fix the other was not as obvious to me as I do not
> understand the philosophy on verbosity in the transport code.
I had a look and I would say just enclose all the fprintf() inside a:
	if (transport->verbose > 0)

But then this is the first time I look at the code. I was about to send a patch too but it will conflict with this one :)

Anyway, thanks for the quick fix to the inconsistent printing with --quiet.

-- 
Leandro Lucarella
Technical Development Lead
Sociomantic Labs GmbH <http://www.sociomantic.com>
Stefan Beller· Aug 24, 2016, 16:35 UTC · re: Leandro Lucarella · lore

Re: [PATCH] transport: report missing submodule pushes consistently on stderr

On Wed, Aug 24, 2016 at 3:28 AM, Leandro Lucarella <leandro.lucarella@sociomantic.com> wrote:

Show 21 quoted lines
> On Tue, 23 Aug 2016 14:40:08 -0700
> Stefan Beller <sbeller@google.com> wrote:
>> The surrounding advice is printed to stderr, but the list of
>> submodules is not. Make the report consistent by reporting everything
>> to stderr.
>>
>> Signed-off-by: Stefan Beller <sbeller@google.com>
>> ---
>>
>>   This fixes one of the bugs mentioned in
>>   https://public-inbox.org/git/CAGZ79kbkyupBJfvyX3Hj_R5ZW36+3ufOnnLC-Dpic40nPJAxDA@mail.gmail.com/T/#t
>>
>>   How to fix the other was not as obvious to me as I do not
>> understand the philosophy on verbosity in the transport code.
>
> I had a look and I would say just enclose all the fprintf() inside a:
>
>         if (transport->verbose > 0)
>
> But then this is the first time I look at the code. I was about to send
> a patch too but it will conflict with this one :)
Well you can still send a patch :)
We have
    int verbose = (transport->verbose > 0);
    int quiet = (transport->verbose < 0);

So you're suggesting to only print these warnings when the user asked for explicit verbose?

A few lines before the call to die_with_unpushed_submodules we have
     die ("Failed to push all needed submodules!");
which would also need a wrapping like
    if (quiet)
        return -1;
    else
        die(...);

Thanks, Stefan

Stefan Beller· Aug 26, 2016, 22:21 UTC · re: Stefan Beller · lore

Re: [PATCH] transport: report missing submodule pushes consistently on stderr

On Wed, Aug 24, 2016 at 9:35 AM, Stefan Beller <sbeller@google.com> wrote:
Show 10 quoted lines
> On Wed, Aug 24, 2016 at 3:28 AM, Leandro Lucarella
> <leandro.lucarella@sociomantic.com> wrote:
>> On Tue, 23 Aug 2016 14:40:08 -0700
>> Stefan Beller <sbeller@google.com> wrote:
>>> The surrounding advice is printed to stderr, but the list of
>>> submodules is not. Make the report consistent by reporting everything
>>> to stderr.
>>>
>>> Signed-off-by: Stefan Beller <sbeller@google.com>
>>> ---

So we seem to have dropped the ball on the followup; this patch nevertheless is a good idea?

← back to recent threads