On Fri, 2006-07-14 at 13:51 -0400, Daniel Barkalow wrote: > I think that a program to generate a slave git tree based in some > user-modifiable way on a parent repository would be useful and > implementable. I'd thought a bunch about it a while ago, for extracting > separable parts of projects (e.g., make a kbuild project that's pulled out > of the kernel tree, but is still a regular git project to anyone who > doesn't know this). My conclusion was that you need a cache of mappings, > because otherwise you can't identify that you already have a transformed > version of a commit, because you don't know its transformed parents, > unless you've gone all the way back to the root (which doesn't have > parents). Absolutely. You don't want to go all the way back to the root every time -- it's an incremental process, and you have to cache the mappings from objects in the 'master' tree to objects in the 'slave' tree. My existing scripts already do that part -- I didn't think it was worth commenting on. http://david.woodhou.se/extract-jffs2-git.sh http://david.woodhou.se/extract-khdrs-git.sh http://david.woodhou.se/extract-khdrs-stage2.sh And no, I don't do any further simplification of the graph of commits other than what 'git-rev-list' does for me. I need to fully go over Linus' last mail and understand it, but I think the conclusion is that the above scripts are fine, and I can happily drop --topo-order from them. -- dwmw2 - : 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