Skip to content

Commit 376016e

Browse files
pks-tgitster
authored andcommitted
object-file: move loose object map into loose source
The loose object map is used to map from the repository's canonical object hash to the compatibility hash. As the name indicates, this map is only used for loose objects, and as such it is tied to a specific loose object source. Same as with preceding commits, move this map into the loose object source accordingly. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent be659c9 commit 376016e

File tree

5 files changed

+9
-9
lines changed

5 files changed

+9
-9
lines changed

loose.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ static int insert_loose_map(struct odb_source *source,
4949
const struct object_id *oid,
5050
const struct object_id *compat_oid)
5151
{
52-
struct loose_object_map *map = source->loose_map;
52+
struct loose_object_map *map = source->loose->map;
5353
int inserted = 0;
5454

5555
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
6565
struct strbuf buf = STRBUF_INIT, path = STRBUF_INIT;
6666
FILE *fp;
6767

68-
if (!source->loose_map)
69-
loose_object_map_init(&source->loose_map);
68+
if (!source->loose->map)
69+
loose_object_map_init(&source->loose->map);
7070
if (!source->loose->cache) {
7171
ALLOC_ARRAY(source->loose->cache, 1);
7272
oidtree_init(source->loose->cache);
@@ -125,7 +125,7 @@ int repo_read_loose_object_map(struct repository *repo)
125125

126126
int repo_write_loose_object_map(struct repository *repo)
127127
{
128-
kh_oid_map_t *map = repo->objects->sources->loose_map->to_compat;
128+
kh_oid_map_t *map = repo->objects->sources->loose->map->to_compat;
129129
struct lock_file lock;
130130
int fd;
131131
khiter_t iter;
@@ -231,7 +231,7 @@ int repo_loose_object_map_oid(struct repository *repo,
231231
khiter_t pos;
232232

233233
for (source = repo->objects->sources; source; source = source->next) {
234-
struct loose_object_map *loose_map = source->loose_map;
234+
struct loose_object_map *loose_map = source->loose->map;
235235
if (!loose_map)
236236
continue;
237237
map = (to == repo->compat_hash_algo) ?

object-file.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2014,5 +2014,6 @@ void odb_source_loose_free(struct odb_source_loose *loose)
20142014
if (!loose)
20152015
return;
20162016
odb_source_loose_clear_cache(loose);
2017+
loose_object_map_clear(&loose->map);
20172018
free(loose);
20182019
}

object-file.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ struct odb_source_loose {
3232
*/
3333
uint32_t subdir_seen[8]; /* 256 bits */
3434
struct oidtree *cache;
35+
36+
/* Map between object IDs for loose objects. */
37+
struct loose_object_map *map;
3538
};
3639

3740
struct odb_source_loose *odb_source_loose_new(struct odb_source *source);

odb.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,6 @@ static void odb_source_free(struct odb_source *source)
370370
{
371371
free(source->path);
372372
odb_source_loose_free(source->loose);
373-
loose_object_map_clear(&source->loose_map);
374373
free(source);
375374
}
376375

odb.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,6 @@ struct odb_source {
5151
/* Private state for loose objects. */
5252
struct odb_source_loose *loose;
5353

54-
/* Map between object IDs for loose objects. */
55-
struct loose_object_map *loose_map;
56-
5754
/*
5855
* private data
5956
*

0 commit comments

Comments
 (0)