diff options
Diffstat (limited to 'cache-tree.c')
-rw-r--r-- | cache-tree.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/cache-tree.c b/cache-tree.c index 641427e..387c0a3 100644 --- a/cache-tree.c +++ b/cache-tree.c @@ -11,7 +11,6 @@ #include "read-cache-ll.h" #include "replace-object.h" #include "promisor-remote.h" -#include "sparse-index.h" #include "trace.h" #include "trace2.h" @@ -448,7 +447,7 @@ static int update_one(struct cache_tree *it, hash_object_file(the_hash_algo, buffer.buf, buffer.len, OBJ_TREE, &it->oid); } else if (write_object_file_flags(buffer.buf, buffer.len, OBJ_TREE, - &it->oid, flags & WRITE_TREE_SILENT + &it->oid, NULL, flags & WRITE_TREE_SILENT ? HASH_SILENT : 0)) { strbuf_release(&buffer); return -1; @@ -770,7 +769,7 @@ static void prime_cache_tree_rec(struct repository *r, oidcpy(&it->oid, &tree->object.oid); - init_tree_desc(&desc, tree->buffer, tree->size); + init_tree_desc(&desc, &tree->object.oid, tree->buffer, tree->size); cnt = 0; while (tree_entry(&desc, &entry)) { if (!S_ISDIR(entry.mode)) @@ -779,8 +778,8 @@ static void prime_cache_tree_rec(struct repository *r, struct cache_tree_sub *sub; struct tree *subtree = lookup_tree(r, &entry.oid); - if (!subtree->object.parsed) - parse_tree(subtree); + if (parse_tree(subtree) < 0) + exit(128); sub = cache_tree_sub(it, entry.path); sub->cache_tree = cache_tree(); |