From: Steffen Prohaska Date: Fri, 28 Sep 2007 06:52:47 GMT Subject: Re: git push (mis ?)behavior Message-ID: <9D61974D-E08D-49F6-9C88-6BE446D53C74@zib.de> In-Reply-To: <7v3awzvrpr.fsf@gitster.siamese.dyndns.org> 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..remote" but defaults to 'origin' > if unconfigured. > > "git push " (or using the determined as above) > says "you do not say which branches?" and consults > "remote..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..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..push" is sufficient. When "remote..push" is set I'd expect "git push" to choose only the 'right' remote..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..push" contains the current branch as a local ref nothing would happen (maybe a warning?). If several "remote..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