n Sun, Sep 5, 2010 at 1:54 AM, Nguyen Thai Ngoc Duy <pclouds@xxxxxxxxx> wrote: > On Sun, Sep 5, 2010 at 10:13 AM, Elijah Newren <newren@xxxxxxxxx> wrote: >> cache_tree_update() will write trees using the index. With sparse clones, >> the index will only contain entries matching the sparse limits, meaning >> that the index does not provide enough information to write complete tree >> objects. Having cache_tree_update() take a tree (typically HEAD), will >> allow new complete trees to be constructed by using entries from the >> specified tree outside the sparse limits together with the index. > > You are moving it closer to the index (from my view because I changed > in commit_tree()). This makes me think, why don't you move the base > tree into the index itself? > > The index is supposed to save the image of full worktree. While you > don't have all path names, you have the clue to all of them, the base > tree. To me, that means it belongs to the index. That would reduce > code change to > - cache-tree.c (generate new tree from the base tree and index) > - read-cache.c (new sparse-clone index extension) > - index writing operations (save the base tree in index): read-tree and merge That's a really good idea. I'll look into that. -- 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