diff options
Diffstat (limited to 'object.c')
-rw-r--r-- | object.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -1,5 +1,6 @@ #include "cache.h" #include "object.h" +#include "replace-object.h" #include "blob.h" #include "tree.h" #include "commit.h" @@ -246,7 +247,7 @@ struct object *parse_object(const struct object_id *oid) unsigned long size; enum object_type type; int eaten; - const struct object_id *repl = lookup_replace_object(oid); + const struct object_id *repl = lookup_replace_object(the_repository, oid); void *buffer; struct object *obj; @@ -256,7 +257,7 @@ struct object *parse_object(const struct object_id *oid) if ((obj && obj->type == OBJ_BLOB && has_object_file(oid)) || (!obj && has_object_file(oid) && - oid_object_info(oid, NULL) == OBJ_BLOB)) { + oid_object_info(the_repository, oid, NULL) == OBJ_BLOB)) { if (check_object_signature(repl, NULL, 0, NULL) < 0) { error("sha1 mismatch %s", oid_to_hex(oid)); return NULL; @@ -480,6 +481,9 @@ void raw_object_store_clear(struct raw_object_store *o) FREE_AND_NULL(o->objectdir); FREE_AND_NULL(o->alternate_db); + oidmap_free(o->replace_map, 1); + FREE_AND_NULL(o->replace_map); + free_alt_odbs(o); o->alt_odb_tail = NULL; |