Subject: Re: [PATCH] transport: no warning if no server wait-for-done

From: Jonathan Nieder <[email-masked]>
Date: Mon, 9 Aug 2021 12:11:18 -0700

Hi,

Junio C Hamano wrote:
> Jonathan Tan <[email-masked]> writes:

>> -	if (finish_command(&child)) {
>> -		/*
>> -		 * The information that push negotiation provides is useful but
>> -		 * not mandatory.
>> -		 */
>> -		warning(_("push negotiation failed; proceeding anyway with push"));
>> -	}
>
> Perhaps like "optional ancestry negotiation failed---pushing
> normally" or some phrasing that assures the users that pushing
> without negotiation is perfectly normal?

The question is what the user will do with this information.

Will they contact the service provider to ask them to turn on push
negotiation?

Will they turn off push negotiation because they don't want to waste a
round trip?

Does what they will do depend on _why_ push negotiation failed?  If it
failed because the server didn't declare the capability and the user
has set push.negotate to true to represent "I want to live in the
future by using push negotiation wherever it's available", then the
message is noise.  If it failed due to a bug, then the message is more
relevant to the user --- e.g., should we use a different exit status
to distinguish between these two cases?

Thanks,
Jonathan