Re: [BUG?] push to mirrior interferes with parallel operations
- From
Jeff King <peff@peff.net>
- Date
- Nov 19, 2010, 21:51 UTC
- Message-ID
- <20101119215143.GA19644@sigill.intra.peff.net>
- In-Reply-To
- <m24obd0zpp.fsf@igel.home>
On Fri, Nov 19, 2010 at 10:29:22PM +0100, Andreas Schwab wrote:
Show 26 quoted lines
> Jeff King <peff@peff.net> writes: > > > On Fri, Nov 19, 2010 at 10:18:58PM +0100, Andreas Schwab wrote: > > > >> Jeff King <peff@peff.net> writes: > >> > >> > On Fri, Nov 19, 2010 at 08:40:18PM +0100, Andreas Schwab wrote: > >> > > >> >> Jeff King <peff@peff.net> writes: > >> >> > >> >> > it really only makes sense to push from a non-bare repo, > >> >> > >> >> Why? The repo could itself be a mirror. > >> > > >> > Why do you have a working directory if you are going to have a refspec > >> > that overwrites HEAD behind your back (which, IIRC, git will simply barf > >> > on, so all of your fetches will fail)? > >> > >> I don't understand that question. There is no working directory in a > >> bare repo. > > > > Now I'm confused. I thought we were talking about non-bare repos. Can > > you clarify your question? > > You claim that pushing from a bare repo does not make sense, and I > question that (I do that all the time).
It's hard to tell because you trimmed all of the context from my statement, but:
1. We are talking specifically about pushing to remotes configured
using remote.*.mirror, and created via "git remote add --mirror". 2. I think you are reading what I quoted as the converse of what I
meant. You are saying "if bare, pushing does not make sense". But
what I meant there was "if non-bare, only pushing makes sense".
Which is why my initial response to you was so confused. That being said, the immediately following statement you didn't
quote was "[only makes sense...] to fetch into a bare repo". Which
is what you are saying, and I do think is oversimplistic. But... 3. Much of the rest of my email goes on to explain a case where that
simple rule is not true, and discusses the implications.So yes. You can push from a bare repo, I agree. I think we need "git remote add --mirror={fetch,push}" in order to handle all cases. But what should "git remote --mirror" do? Be disallowed? Be a synonym for --mirror=fetch (as it is now)? Guess based on bare/non-bare status?
-Peff