diff options
Diffstat (limited to 'cache-tree.c')
-rw-r--r-- | cache-tree.c | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/cache-tree.c b/cache-tree.c index 9d454d24bc..b13bfaf71e 100644 --- a/cache-tree.c +++ b/cache-tree.c @@ -225,7 +225,7 @@ int cache_tree_fully_valid(struct cache_tree *it) int i; if (!it) return 0; - if (it->entry_count < 0 || !has_sha1_file(it->oid.hash)) + if (it->entry_count < 0 || !has_object_file(&it->oid)) return 0; for (i = 0; i < it->subtree_nr; i++) { if (!cache_tree_fully_valid(it->down[i]->cache_tree)) @@ -253,7 +253,7 @@ static int update_one(struct cache_tree *it, *skip_count = 0; - if (0 <= it->entry_count && has_sha1_file(it->oid.hash)) + if (0 <= it->entry_count && has_object_file(&it->oid)) return it->entry_count; /* @@ -448,7 +448,7 @@ int cache_tree_update(struct index_state *istate, int flags) } static void write_one(struct strbuf *buffer, struct cache_tree *it, - const char *path, int pathlen) + const char *path, int pathlen) { int i; @@ -659,7 +659,9 @@ out: return ret; } -static void prime_cache_tree_rec(struct cache_tree *it, struct tree *tree) +static void prime_cache_tree_rec(struct repository *r, + struct cache_tree *it, + struct tree *tree) { struct tree_desc desc; struct name_entry entry; @@ -673,24 +675,25 @@ 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(the_repository, - entry.oid); + struct tree *subtree = lookup_tree(r, &entry.oid); if (!subtree->object.parsed) parse_tree(subtree); sub = cache_tree_sub(it, entry.path); sub->cache_tree = cache_tree(); - prime_cache_tree_rec(sub->cache_tree, subtree); + prime_cache_tree_rec(r, sub->cache_tree, subtree); cnt += sub->cache_tree->entry_count; } } it->entry_count = cnt; } -void prime_cache_tree(struct index_state *istate, struct tree *tree) +void prime_cache_tree(struct repository *r, + struct index_state *istate, + struct tree *tree) { cache_tree_free(&istate->cache_tree); istate->cache_tree = cache_tree(); - prime_cache_tree_rec(istate->cache_tree, tree); + prime_cache_tree_rec(r, istate->cache_tree, tree); istate->cache_changed |= CACHE_TREE_CHANGED; } @@ -721,12 +724,13 @@ int cache_tree_matches_traversal(struct cache_tree *root, it = find_cache_tree_from_traversal(root, info); it = cache_tree_find(it, ent->path); - if (it && it->entry_count > 0 && oideq(ent->oid, &it->oid)) + if (it && it->entry_count > 0 && oideq(&ent->oid, &it->oid)) return it->entry_count; return 0; } -static void verify_one(struct index_state *istate, +static void verify_one(struct repository *r, + struct index_state *istate, struct cache_tree *it, struct strbuf *path) { @@ -736,13 +740,13 @@ static void verify_one(struct index_state *istate, for (i = 0; i < it->subtree_nr; i++) { strbuf_addf(path, "%s/", it->down[i]->name); - verify_one(istate, it->down[i]->cache_tree, path); + verify_one(r, istate, it->down[i]->cache_tree, path); strbuf_setlen(path, len); } if (it->entry_count < 0 || /* no verification on tests (t7003) that replace trees */ - lookup_replace_object(the_repository, &it->oid) != &it->oid) + lookup_replace_object(r, &it->oid) != &it->oid) return; if (path->len) { @@ -793,12 +797,12 @@ static void verify_one(struct index_state *istate, strbuf_release(&tree_buf); } -void cache_tree_verify(struct index_state *istate) +void cache_tree_verify(struct repository *r, struct index_state *istate) { struct strbuf path = STRBUF_INIT; if (!istate->cache_tree) return; - verify_one(istate, istate->cache_tree, &path); + verify_one(r, istate, istate->cache_tree, &path); strbuf_release(&path); } |