On Thu, Apr 11, 2013 at 01:23:57AM +0530, Ramkumar Ramachandra wrote:
> Ramkumar Ramachandra wrote:
> > git push -- master next; pushes to my current branch's
> > branch.<name>.pushremote? Isn't that a disaster?
> Actually, branch.<name>.pushremote already breaks the current design
> in a way, as Junio pointed out in a different email: a push.default
> set to anything except "current" is already nonsensical. Why should
> "matching" branches be pushed to the remote that my current branch
> specifies? That might well have their own branch.<name>.pushremote
> configured, which should be respected.
I'm not sure that it should be respected. "master" is short for
"refs/heads/master:refs/heads/master", and does not mean "push master to
where I have it configured to go" at all. That may be what the user
means, but changing how "git push" works is going to create
inconsistency with other cases.
> We should fix this now. I think the fault lies in the rather old
> design of push.default. Do you have any suggestions as what would
> make sense here? Ultimately, I think a git push; needs to pick
> remotes for each refspec separately. The orthogonal design is
> definitely not right in my opinion.
Right, the example above might include multiple remotes if pushremote is
respected. Or it might not come up with an answer at all for a tag.
If you do:
git push -- v1.2.3 master
where does v1.2.3 go? To remote.pushdefault? That seems simple and
consistent, as there is no ref-specific pushremote defined. But I'd
guess that the user probably _wanted_ it to go to
> As the author of branch.<name>.pushremote, I apologize for not having
> caught this earlier. I've been using push.default = current for a
> long time, and don't often think about the other settings.
I don't think pushremote introduced the problem. It is much older than
that, and dates back to respecting branch.*.remote at all for pushes,
even though push.default=matching (and before we had push.default, it
was always matching) does not have anything to do with the current
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html