Subject: Re: .gitlink for Summer of Code

From: "Shawn O. Pearce" <[email-masked]>
Date: Sun, 25 Mar 2007 17:03:22 -0400

Johannes Schindelin <[email-masked]> wrote:
> On Sun, 25 Mar 2007, Shawn O. Pearce wrote:
> > Yes.  But there's another project on the ideas list that addresses
> > that (``Lazy Clone'').  It is quite a bit more difficult than the
> > .gitlink idea as the implementation requires a network protocol
> > client implemented somewhere near the read_sha1_file interface.
> 
> Not only that. You'd have to change the way read_sha1_file() is called to 
> allow fetching more than one object at a time. Otherwise this will be so 
> slow as to be unusable.

Yes, and no. ;-)

Lets say we put a repository on an NFS share, and clone it using
--shared.  So it's now an alternate ODB.  And read_sha1_file()
is now doing synchronous reads, unless the client has something
cached.  Which we could just as easily cache ourselves in the
loose object directory

We could make it faster by batching up requests.  But batching
requests may be difficult in some contexts, as we don't know what
else we need until we get back that commit or tree we are trying
to read.  ;-)
 
-- 
Shawn.