Re: git-pull from git.git - no remote ref for pu or next?
- From
- Eric Wong <normalperson@yhbt.net>
- Date
- Dec 12, 2006, 21:26 UTC
- Message-ID
- <20061212212612.GA22497@localdomain>
- In-Reply-To
- <Pine.LNX.4.64.0612120949230.3535@woody.osdl.org>
Linus Torvalds <torvalds@osdl.org> wrote:
Show 12 quoted lines
> > And then it mysteriously fixed itself a few minutes later. > > Is there some sort of publishing failure, or intermittent race condition? > > But because the public sites just mirror using rsync, and aren't really > aware of git repositories etc at that stage, what can happen is that a > mirroring is on-going when Junio does a push, and then the changes to the > "refs/" directory might get rsync'ed before the "object/" directory does, > and you end up with the public sites having references to objects that > don't even _exist_ on those public sites any more. > > And once the mirroring completes, the issue just goes away, which explains > why it just magically works five minutes later.
If kernel.org isn't using it already, I've found the --delay-updates option of rsync works reasonably well and can cut down the race-condition window. It does use more memory and disk space, however. atomic-rsync (a perl front-end distributed with the rsync source) takes even more disk space but works across an entire subdirectory all at once (with 2 renames)