Subject: Re: git push origin error (1.6.3 new default functionality)

From: Michael J Gruber <[email-masked]>
Date: Tue, 12 May 2009 13:11:11 +0200

Caleb Cushing venit, vidit, dixit 12.05.2009 03:26:
> in the past git push origin would just push all matching branches to
> the remote, and it worked. the new error says that's still the
> default. The new functionality is nice, but is it really the git way
> to yell at you if you haven't explicitly set the default? I think the
> default should remain the default, and it should continue to work
> without yelling at you for not explicitly setting it. if you want to
> change it that's fine.
> 
\begin{rambling}
It is a fall-out from the new user friendliness initiative. Watch out
for parentheses:
it's ( (new user) friendliness ), not ( new (user friendliness) ).

The principle is: if a user is about to do something which is documented
but might not have been intended we throw a half-screen full of text at
them. The idea is that it is virtually impossible to grasp at a glance
from that much text what happened, so that the user is forced to read
the whole text. edugit, so to say.
\end{rambling}

Seriously, we had that discussion when the feature (change of default
behaviour) and warning were introduced, so it's too late for a change.
But it's never too late to do

git config --global push.default matching

and be done with it.

The weird thing is that the default is "matching" already. But it makes
a difference whether you have set the variable to its default value
explicitly or not. No man page says so (neither git-push nor
git-config), and I can't think of other variables with such a behaviour.

Michael