aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--loose.c10
-rw-r--r--object-file.c1
-rw-r--r--object-file.h3
-rw-r--r--odb.c1
-rw-r--r--odb.h3
5 files changed, 9 insertions, 9 deletions
diff --git a/loose.c b/loose.c
index 8cc7573ff2..56cf64b648 100644
--- a/loose.c
+++ b/loose.c
@@ -49,7 +49,7 @@ static int insert_loose_map(struct odb_source *source,
const struct object_id *oid,
const struct object_id *compat_oid)
{
- struct loose_object_map *map = source->loose_map;
+ struct loose_object_map *map = source->loose->map;
int inserted = 0;
inserted |= insert_oid_pair(map->to_compat, oid, compat_oid);
@@ -65,8 +65,8 @@ static int load_one_loose_object_map(struct repository *repo, struct odb_source
struct strbuf buf = STRBUF_INIT, path = STRBUF_INIT;
FILE *fp;
- if (!source->loose_map)
- loose_object_map_init(&source->loose_map);
+ if (!source->loose->map)
+ loose_object_map_init(&source->loose->map);
if (!source->loose->cache) {
ALLOC_ARRAY(source->loose->cache, 1);
oidtree_init(source->loose->cache);
@@ -125,7 +125,7 @@ int repo_read_loose_object_map(struct repository *repo)
int repo_write_loose_object_map(struct repository *repo)
{
- kh_oid_map_t *map = repo->objects->sources->loose_map->to_compat;
+ kh_oid_map_t *map = repo->objects->sources->loose->map->to_compat;
struct lock_file lock;
int fd;
khiter_t iter;
@@ -231,7 +231,7 @@ int repo_loose_object_map_oid(struct repository *repo,
khiter_t pos;
for (source = repo->objects->sources; source; source = source->next) {
- struct loose_object_map *loose_map = source->loose_map;
+ struct loose_object_map *loose_map = source->loose->map;
if (!loose_map)
continue;
map = (to == repo->compat_hash_algo) ?
diff --git a/object-file.c b/object-file.c
index 20daa629a1..ccc67713fa 100644
--- a/object-file.c
+++ b/object-file.c
@@ -2014,5 +2014,6 @@ void odb_source_loose_free(struct odb_source_loose *loose)
if (!loose)
return;
odb_source_loose_clear_cache(loose);
+ loose_object_map_clear(&loose->map);
free(loose);
}
diff --git a/object-file.h b/object-file.h
index bec855e8e5..f8a96a45f5 100644
--- a/object-file.h
+++ b/object-file.h
@@ -32,6 +32,9 @@ struct odb_source_loose {
*/
uint32_t subdir_seen[8]; /* 256 bits */
struct oidtree *cache;
+
+ /* Map between object IDs for loose objects. */
+ struct loose_object_map *map;
};
struct odb_source_loose *odb_source_loose_new(struct odb_source *source);
diff --git a/odb.c b/odb.c
index b3e8d4a49c..d1df9609e2 100644
--- a/odb.c
+++ b/odb.c
@@ -370,7 +370,6 @@ static void odb_source_free(struct odb_source *source)
{
free(source->path);
odb_source_loose_free(source->loose);
- loose_object_map_clear(&source->loose_map);
free(source);
}
diff --git a/odb.h b/odb.h
index 77104396af..f9a3137a34 100644
--- a/odb.h
+++ b/odb.h
@@ -51,9 +51,6 @@ struct odb_source {
/* Private state for loose objects. */
struct odb_source_loose *loose;
- /* Map between object IDs for loose objects. */
- struct loose_object_map *loose_map;
-
/*
* private data
*