Re: sparse fetch, was Re: [PATCH 08/12] git-clone: support --path to do sparse clone
Hi,
On Fri, Jul 25, 2008 at 02:12:31AM +0200, Johannes Schindelin wrote:
Show 13 quoted lines
> On Thu, 24 Jul 2008, Sverre Rabbelier wrote:
>
> > On Thu, Jul 24, 2008 at 8:53 PM, Petr Baudis <pasky@suse.cz> wrote:
> > > I don't follow how these two issues arise, if the server will do the
> > > pruning for you. It will just skip entering some tree objects when
> > > doing object traversal; why opening the git protocol or faking
> > > commits? This would be a simple extra capability in the protocol.
> >
> > Wouldn't that be as simple as passing a pathspec to git-rev-list? Not a
> > lot of overhead there I reckon.
>
> So the server would _not_ have to deflate the objects to inspect them? I
> thought you knew more about Git's object database.
> You'd still have to inspect the objects, which is way more work than the
> current code has to do. Remember: in the optimal case, upload-pack does
> not more than just serve the existing deltas/base objects.
then right now, exactly how does the server decide that the blob
7a7ff130 should be served along git.git HEAD? I still see upload-pack.c
calling traverse_commit_list() that does process_tree() on every tree,
etc. But the code is not straightforward, maybe I'm missing some
shortcut?
--
Petr "Pasky" Baudis
As in certain cults it is possible to kill a process if you know
its true name. -- Ken Thompson and Dennis M. Ritchie