Clemens Buchacher [off-list ref] writes:
If "current" and "upstream" disagree, git push errors out and asks the
user to use an explicit refspec or change push.default according to
their preferred workflow.
I actually like this idea. Or at least, much more than "current, but
only if the remote already exists". In most simple case, it will just
work, and it will error out with an explicit message in every case which
could have confused the user.
I'd count "upstream is not set" as "current and upstream agree on
'current'". IOW, use "current", but error out if there's a configured
upstream that is different.
--
Matthieu Moy
http://www-verimag.imag.fr/~moy/