From: Junio C Hamano Date: Thu, 12 Apr 2012 15:56:34 GMT Subject: Re: push.default: current vs upstream Message-ID: <7vpqbdeyfh.fsf@alter.siamese.dyndns.org> In-Reply-To: Matthieu Moy writes: > Jeff King writes: > >> Then the rule is not really "act only if upstream and current would do >> the same thing". > > Right. That would be closer to "fail with explicit error when where to > push is not clear enough". I think that is a good explanation. >> On the one hand, I think what you are suggesting is reasonable in most >> cases. On the other hand, what if the lack of upstream is because the >> user failed to configure it properly? Then it could be surprising. >> >> I don't have a strong opinion either way. > > No strong opinion either, but I wanted to raise the point to make sure > we agree. > > With your patch, "git push" fails with > > fatal: The current branch branch-name has no upstream branch. > To push the current branch and set the remote as upstream, use > > git push --set-upstream origin branch-name > > so it's not really bad: the suggestion guides the user to a situation > where the next "git push" will succeed unambiguously. As a side effect, > the next "git pull" will fetch from the same branch, which is probably > what the user wants if he hasn't explicitely configured an upstream > branch yet. Sounds sensible.