unpack-trees: optimize walking same trees with cache-tree
[gitweb.git] / cache-tree.c
index 6b467119960b03540e38209aa1a10f1dbe36c4dd..caafbff2ff243bd65ee2def874c32cb75eada858 100644 (file)
@@ -433,7 +433,9 @@ int cache_tree_update(struct index_state *istate, int flags)
 
        if (i)
                return i;
+       trace_performance_enter();
        i = update_one(it, cache, entries, "", 0, &skip, flags);
+       trace_performance_leave("cache_tree_update");
        if (i < 0)
                return i;
        istate->cache_changed |= CACHE_TREE_CHANGED;
@@ -671,7 +673,8 @@ static void prime_cache_tree_rec(struct cache_tree *it, struct tree *tree)
                        cnt++;
                else {
                        struct cache_tree_sub *sub;
-                       struct tree *subtree = lookup_tree(entry.oid);
+                       struct tree *subtree = lookup_tree(the_repository,
+                                                          entry.oid);
                        if (!subtree->object.parsed)
                                parse_tree(subtree);
                        sub = cache_tree_sub(it, entry.path);