Re: sparse fetch, was Re: [PATCH 08/12] git-clone: support --path to do sparse clone
From: Petr Baudis <hidden>
Date: 2016-06-15 22:45:01
Hi, On Fri, Jul 25, 2008 at 02:12:31AM +0200, Johannes Schindelin wrote:
On Thu, 24 Jul 2008, Sverre Rabbelier wrote:quoted
On Thu, Jul 24, 2008 at 8:53 PM, Petr Baudis [off-list ref] wrote:quoted
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.
..snip..
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