On Sep 27, 2007, at 9:22 PM, Junio C Hamano wrote:
So what's the desired semantics? The current semantics is: "git push" says "you do not say to which repository?" and consults "branch.<current>.remote" but defaults to 'origin' if unconfigured. "git push <name>" (or using the <name> determined as above) says "you do not say which branches?" and consults "remote.<name>.push" to find branches to push out, but defaults to 'matching branches' if unconfigured. What you would want to change is the fallback behaviour for unconfigured "remote.<name>.push". I think it is sensible to have an option to make it push only the current branch.
I'm not sure that changing the fallback behaviour for unconfigured "remote.<name>.push" is sufficient. When "remote.<name>.push" is set I'd expect "git push" to choose only the 'right' remote.<name>.push lines, that is the lines that have the current branch as the local ref. "git push" would only push the current branch, which could be pushed to 0 or more branches on the remote side. If no "remote.<name>.push" contains the current branch as a local ref nothing would happen (maybe a warning?). If several "remote.<name>.push" have the current branch as the local ref the branch would be pushed to several remote branches. But other branches than the current branch would _never_ be pushed if no argument is given to 'git push'. Steffen - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html