On Fri, 15 Apr 2005, Barry Silverman wrote: > > The issue I am trying to come to grips with in the current design, is > that the git repository of a number of interrelated projects will soon > become the logical OR of all blobs, commits, and trees in ALL the > projects.
Nope. I'm actually against the notion of sharing object directories between projects. The git model _allows_ it, and I think it can be a valid approach, but it's absolutely not an approach that I would personally suggest be used for the kernel. In other words, the default git behaviour - and the one I personally am a proponent of - is to have one object directory per work tree, and really consider all such trees independent. Then you can merge between trees if you want to, and bring in objects that way, but normally you would _not_ have tons of objects from other trees, and _especially_ not from other unrelated projects. The reason git supports shared object archives is that (a) it falls out trivially as part of the design, so not allowing it is silly and (b) it is part of a merge, where you _do_ want to get the objects of the trees you merge, and in particular you need to generate a seperate tree that has all those objects without having to copy them. (Before you do the merge, you need to bring the new objects into your repository of course, but that I consider to be a separate issue, not part of the actual technical merge process). So normally, you'd probably have a totally pruned tree, with only the objects you need (and you might even consider the "commit parent links" less than necessary, especially if you're just a regular user and not a developer who wants to merge). But the ability to have extra objects is wonderful. It makes going backwards in time basically free (while the equivalent "bk undo" in the BK world is a very expensive operation), and it makes it easy to incrementally keep up-to-date with trees that you know you're _eventually_ going to merge with. But it's not an excuse to put just any random crap in that object directory.. Linus - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html