Hi, On Fri, Jul 25, 2008 at 02:12:31AM +0200, Johannes Schindelin wrote: > On Thu, 24 Jul 2008, Sverre Rabbelier wrote: > > > On Thu, Jul 24, 2008 at 8:53 PM, Petr Baudis <pasky@xxxxxxx> 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. ..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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html