]>
git.ipfire.org Git - thirdparty/git.git/blob - t/helper/test-read-midx.c
4 #include "repository.h"
5 #include "object-store.h"
7 static int read_midx_file(const char *object_dir
, int show_objects
)
10 struct multi_pack_index
*m
;
12 setup_git_directory();
13 m
= load_multi_pack_index(object_dir
, 1);
18 printf("header: %08x %d %d %d %d\n",
27 if (m
->chunk_pack_names
)
28 printf(" pack-names");
29 if (m
->chunk_oid_fanout
)
30 printf(" oid-fanout");
31 if (m
->chunk_oid_lookup
)
32 printf(" oid-lookup");
33 if (m
->chunk_object_offsets
)
34 printf(" object-offsets");
35 if (m
->chunk_large_offsets
)
36 printf(" large-offsets");
38 printf("\nnum_objects: %d\n", m
->num_objects
);
41 for (i
= 0; i
< m
->num_packs
; i
++)
42 printf("%s\n", m
->pack_names
[i
]);
44 printf("object-dir: %s\n", m
->object_dir
);
50 for (i
= 0; i
< m
->num_objects
; i
++) {
51 nth_midxed_object_oid(&oid
, m
, i
);
52 fill_midx_entry(the_repository
, &oid
, &e
, m
);
54 printf("%s %"PRIu64
"\t%s\n",
55 oid_to_hex(&oid
), e
.offset
, e
.p
->pack_name
);
63 int cmd__read_midx(int argc
, const char **argv
)
65 if (!(argc
== 2 || argc
== 3))
66 usage("read-midx [--show-objects] <object-dir>");
68 if (!strcmp(argv
[1], "--show-objects"))
69 return read_midx_file(argv
[2], 1);
70 return read_midx_file(argv
[1], 0);