On Tuesday, May 07, 2013 at 04:35 EDT,
Luke Diamand <
lu...@diamand.org> wrote:
> On 07/05/13 09:11, SeongUk Baek wrote:
>
> > I'll apply mirror configuration to all of developer's server like
> > below steps.
> >
> > 1. Create bare repositories in storage.
> > 2. Mount the storage in all developers server.
> > 3. All developers are using the "--reference" option to the storage
> > when they want to sync.
> >
> > I really want to know that If I configured above steps, is there a
> > problem that can be expected?
AFAICT --reference only works with local directories.
$ git clone --reference /some/nfs/path/git
https://github.com/git/git.git
Cloning into 'git'...
fatal: reference repository '/some/nfs/path/git' is not a local directory.
Anyway, having a central mirror that's NFS mounted defeats the purpose
of --reference, doesn't it? It will take some load off your Git/Gerrit
server (scaling up NFS servers might be easier), but the performance
will continue to be bound by the network capacity.
(For fun I tried --reference when cloning git.git, and the clone time
went down from 37 s to <1 s. That was with a brand-new clone, though.
Doing the same exercise for Android's platform/frameworks/base when
the git I used as reference was cloned on Jan 31 reduced clone time
from 2 min 39 s to 28 s.)
> The thing I found was that even with this, the developer machines
> are still making ssh:// or git:// RPCs to your repo server.
Yes, this is expected. The mirror is supposed to provide a solid base
for the clones, not an up to date replica.
> This then becomes the bottleneck. The git config "insteadof" helps
> with this.
How are you using insteadOf?
--
Magnus Bäck
ba...@google.com