From: Felipe Contreras Date: Thu, 16 May 2013 09:33:07 GMT Subject: Re: [RFC/PATCH 3/3] push: add separate 'downstream' branch Message-ID: In-Reply-To: On Thu, May 16, 2013 at 4:20 AM, Ramkumar Ramachandra wrote: > Felipe Contreras wrote: >> And is going to change soon. > > Your point being? How will this patch interact with push.default = matching? > >>> branch..push should probably be named >>> branch..downstreamref and be used only for informational >>> purposes (@{d} and git status)? >> >> That makes absolutely no sense. > > I said downstreamref, not downstreamrefspec. That's not consistent with branch.A.merge, which is not named branch.A.upstreamref. >> [branch "master"] >> remote = origin >> merge = refs/heads/master >> pushremote = github >> push = refs/heads/fc/master >> >> [branch "fc/old-remote/hg"] >> remote = . >> merge = refs/heads/master >> pushremote = github >> push = refs/heads/fc/remote/hg >> >> Tell me how you express that without 'remote.branch.push'. > > [remote "origin"] > push = refs/heads/master:refs/heads/fc/master > > [remote "."] > push = refs/heads/fc/old-remote/hg:refs/heads/fc/remote/hg Let's see: % git checkout master % git push It will try to push to 'origin/fc/master' not 'github/fc/master', which is what I intended. % git checkout fc/old-remote/hg % git push It will try to push to 'fc/remote/hg' not 'github/fc/remote/hg', which is what I intended. > Advantage being you can do: > > [remote "origin"] > push = refs/heads/*:refs/for/* > > While you can't with branch..push. But I can do 'git push origin "refs/head/*:refs/heads/for/*"', not that I've ever had the need to do something like that, so I don't care. -- Felipe Contreras