Subject: Re: [PATCH v3] push: Enhance unspecified push default warning

From: Junio C Hamano <[email-masked]>
Date: Wed, 06 Nov 2013 11:01:31 -0800

Matthieu Moy <[email-masked]> writes:

> I don't remember all the discussions on the patch which introduced
> the warning, but I don't think it's relevant to digg them before applying the patch:

If we apply the patch then it is too late to dig them ;-)

> * The assumption was that users would read the docs, but as I already mentioned:
>   "Judging by the question asked on stackoverflow
>   ( http://stackoverflow.com/questions/13148066/warning-push-default-is-unset-its-implicit-value-is-changing-in-git-2-0 )
>   and its popularity, telling the users to read the docs did not work very
>   well."

That is true, but does it justify giving a misleading information in
the advice message?

Specifically:

>> +   "When push.default is set to 'matching', git will push all local branches\n"
>> +   "to the remote branches with the same (matching) name.

invites those who do not read documentation to mistake it with using
an explicit "refs/heads/*:refs/heads/*" refspec.

And this one

>> +   "In Git 2.0 the new push.default of 'simple' will push only the current\n"
>> +   "branch to the same remote branch used by git pull.   A push will\n"
>> +   "only succeed if the remote and local branches have the same name.\n"

while you can see that it is not telling a lie if you read it twice,
"will only succeed if" feels somewhat roundabout.

	... push only the current branch back to the branch of the
	same name, but only if 'git pull' is set to pull from that
	branch. Otherwise the push will fail.

might be an improvement, but I dunno.

> * The warning has been there for a while now. Advanced users have
> already set push.default.  We shouldn't be worried about eating a
> bit of screen real estate for users who didn't yet.

This part I can agree with.