Re: [RFC/PATCH] remote: add new sync command
- From
Jeff King <peff@peff.net>
- Date
- Nov 8, 2011, 18:14 UTC
- Message-ID
- <20111108181442.GA17317@sigill.intra.peff.net>
- In-Reply-To
- <CAMP44s089xbEo4VT8rqgS=BJMUu=qsb8Hm5z8bTR2akU8-5QhA@mail.gmail.com>
On Tue, Nov 08, 2011 at 07:31:09PM +0200, Felipe Contreras wrote:
> > 2. update remote refs with local values, including pushing anything > > new that we don't have locally (--sync-new) > > Anything new that we don't have *remotely*.
Sorry, yeah.
Show 6 quoted lines
> > 1. git push --prune <remote> : > > > > I.e., use the "matching" refspec to not push new things, but turn > > on pruning. > > I guess so, but ":" seems a bit obscure.
Yeah, it is. It's also the default, so you could just do:
git push --prune <remote>
Although some people have argued for changing the default in future versions. I don't know what the status of that is.
Show 7 quoted lines
> > 2. git push <remote> refs/heads/* > > > > Turn off pruning, but use an explicit refspec, not just "matching", > > which will push all local branches. > > Isn't refs/heads/* the same as --all? BTW. I think --all is confusing, > should be --branches, or something.
Doesn't --all mean all refs, including tags and branches? I thought that was the thing you were avoiding. We could add syntactic sugar to make --branches mean "refs/heads/*". But I do worry that pseudo-options like that just end up creating more confusion (I seem to recall there being a lot of confusion about "--tags", which is more or less the same thing).
-Peff