Re: [BUG?] push to mirrior interferes with parallel operations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Nov 19, 2010 at 10:29:22PM +0100, Andreas Schwab wrote:

> Jeff King <peff@xxxxxxxx> writes:
> 
> > On Fri, Nov 19, 2010 at 10:18:58PM +0100, Andreas Schwab wrote:
> >
> >> Jeff King <peff@xxxxxxxx> writes:
> >> 
> >> > On Fri, Nov 19, 2010 at 08:40:18PM +0100, Andreas Schwab wrote:
> >> >
> >> >> Jeff King <peff@xxxxxxxx> 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
--
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


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]