pack-*.c: remove the_repository references

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Nguyễn Thái Ngọc Duy committed Nov 10, 2018 at 06:49 UTC 7c14112741b81366cfbbc3b98e0b92422fcce83d
6 files changed +21 -14
builtin/pack-objects.c
+1 -1
@@ -3481,7 +3481,7 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix)
3481 }
3482 }
3483
3484 - prepare_packing_data(&to_pack);
3484 + prepare_packing_data(the_repository, &to_pack);
3485
3486 if (progress)
3487 progress_state = start_progress(_("Enumerating objects"), 0);
pack-bitmap-write.c
+3 -3
@@ -77,7 +77,7 @@ void bitmap_writer_build_type_index(struct packing_data *to_pack,
77 break;
78
79 default:
80 - real_type = oid_object_info(the_repository,
80 + real_type = oid_object_info(to_pack->repo,
81 &entry->idx.oid, NULL);
82 break;
83 }
@@ -262,7 +262,7 @@ void bitmap_writer_build(struct packing_data *to_pack)
262 if (writer.show_progress)
263 writer.progress = start_progress("Building bitmaps", writer.selected_nr);
264
265 - repo_init_revisions(the_repository, &revs, NULL);
265 + repo_init_revisions(to_pack->repo, &revs, NULL);
266 revs.tag_objects = 1;
267 revs.tree_objects = 1;
268 revs.blob_objects = 1;
@@ -363,7 +363,7 @@ static int date_compare(const void *_a, const void *_b)
363 void bitmap_writer_reuse_bitmaps(struct packing_data *to_pack)
364 {
365 struct bitmap_index *bitmap_git;
366 - if (!(bitmap_git = prepare_bitmap_git()))
366 + if (!(bitmap_git = prepare_bitmap_git(to_pack->repo)))
367 return;
368
369 writer.reused = kh_init_sha1();
pack-bitmap.c
+7 -6
@@ -328,14 +328,15 @@ failed:
328 return -1;
329 }
330
331 -static int open_pack_bitmap(struct bitmap_index *bitmap_git)
331 +static int open_pack_bitmap(struct repository *r,
332 + struct bitmap_index *bitmap_git)
333 {
334 struct packed_git *p;
335 int ret = -1;
336
337 assert(!bitmap_git->map);
338
338 - for (p = get_all_packs(the_repository); p; p = p->next) {
339 + for (p = get_all_packs(r); p; p = p->next) {
340 if (open_pack_bitmap_1(bitmap_git, p) == 0)
341 ret = 0;
342 }
@@ -343,11 +344,11 @@ static int open_pack_bitmap(struct bitmap_index *bitmap_git)
344 return ret;
345 }
346
346 -struct bitmap_index *prepare_bitmap_git(void)
347 +struct bitmap_index *prepare_bitmap_git(struct repository *r)
348 {
349 struct bitmap_index *bitmap_git = xcalloc(1, sizeof(*bitmap_git));
350
350 - if (!open_pack_bitmap(bitmap_git) && !load_pack_bitmap(bitmap_git))
351 + if (!open_pack_bitmap(r, bitmap_git) && !load_pack_bitmap(bitmap_git))
352 return bitmap_git;
353
354 free_bitmap_index(bitmap_git);
@@ -690,7 +691,7 @@ struct bitmap_index *prepare_bitmap_walk(struct rev_info *revs)
691 struct bitmap_index *bitmap_git = xcalloc(1, sizeof(*bitmap_git));
692 /* try to open a bitmapped pack, but don't parse it yet
693 * because we may not need to use it */
693 - if (open_pack_bitmap(bitmap_git) < 0)
694 + if (open_pack_bitmap(revs->repo, bitmap_git) < 0)
695 goto cleanup;
696
697 for (i = 0; i < revs->pending.nr; ++i) {
@@ -955,7 +956,7 @@ void test_bitmap_walk(struct rev_info *revs)
956 struct bitmap_test_data tdata;
957 struct bitmap_index *bitmap_git;
958
958 - if (!(bitmap_git = prepare_bitmap_git()))
959 + if (!(bitmap_git = prepare_bitmap_git(revs->repo)))
960 die("failed to load bitmap indexes");
961
962 if (revs->pending.nr != 1)
pack-bitmap.h
+2 -1
@@ -6,6 +6,7 @@
6 #include "pack-objects.h"
7
8 struct commit;
9 +struct repository;
10 struct rev_info;
11
12 struct bitmap_disk_header {
@@ -39,7 +40,7 @@ typedef int (*show_reachable_fn)(
40
41 struct bitmap_index;
42
42 -struct bitmap_index *prepare_bitmap_git(void);
43 +struct bitmap_index *prepare_bitmap_git(struct repository *r);
44 void count_bitmap_commit_list(struct bitmap_index *, uint32_t *commits,
45 uint32_t *trees, uint32_t *blobs, uint32_t *tags);
46 void traverse_bitmap_commit_list(struct bitmap_index *,
pack-objects.c
+4 -2
@@ -99,7 +99,7 @@ static void prepare_in_pack_by_idx(struct packing_data *pdata)
99 * (i.e. in_pack_idx also zero) should return NULL.
100 */
101 mapping[cnt++] = NULL;
102 - for (p = get_all_packs(the_repository); p; p = p->next, cnt++) {
102 + for (p = get_all_packs(pdata->repo); p; p = p->next, cnt++) {
103 if (cnt == nr) {
104 free(mapping);
105 return;
@@ -133,8 +133,10 @@ void oe_map_new_pack(struct packing_data *pack,
133 }
134
135 /* assume pdata is already zero'd by caller */
136 -void prepare_packing_data(struct packing_data *pdata)
136 +void prepare_packing_data(struct repository *r, struct packing_data *pdata)
137 {
138 + pdata->repo = r;
139 +
140 if (git_env_bool("GIT_TEST_FULL_IN_PACK_ARRAY", 0)) {
141 /*
142 * do not initialize in_pack_by_idx[] to force the
pack-objects.h
+4 -1
@@ -5,6 +5,8 @@
5 #include "thread-utils.h"
6 #include "pack.h"
7
8 +struct repository;
9 +
10 #define DEFAULT_DELTA_CACHE_SIZE (256 * 1024 * 1024)
11
12 #define OE_DFS_STATE_BITS 2
@@ -127,6 +129,7 @@ struct object_entry {
129 };
130
131 struct packing_data {
132 + struct repository *repo;
133 struct object_entry *objects;
134 uint32_t nr_objects, nr_alloc;
135
@@ -165,7 +168,7 @@ struct packing_data {
168 unsigned char *layer;
169 };
170
168 -void prepare_packing_data(struct packing_data *pdata);
171 +void prepare_packing_data(struct repository *r, struct packing_data *pdata);
172
173 static inline void packing_data_lock(struct packing_data *pdata)
174 {