Merge branch 'en/show-ref-doc-fix'
[git] / t / helper / test-read-midx.c
1 #include "test-tool.h"
2 #include "cache.h"
3 #include "midx.h"
4 #include "repository.h"
5 #include "object-store.h"
6
7 static int read_midx_file(const char *object_dir)
8 {
9         uint32_t i;
10         struct multi_pack_index *m = load_multi_pack_index(object_dir, 1);
11
12         if (!m)
13                 return 1;
14
15         printf("header: %08x %d %d %d\n",
16                m->signature,
17                m->version,
18                m->num_chunks,
19                m->num_packs);
20
21         printf("chunks:");
22
23         if (m->chunk_pack_names)
24                 printf(" pack-names");
25         if (m->chunk_oid_fanout)
26                 printf(" oid-fanout");
27         if (m->chunk_oid_lookup)
28                 printf(" oid-lookup");
29         if (m->chunk_object_offsets)
30                 printf(" object-offsets");
31         if (m->chunk_large_offsets)
32                 printf(" large-offsets");
33
34         printf("\nnum_objects: %d\n", m->num_objects);
35
36         printf("packs:\n");
37         for (i = 0; i < m->num_packs; i++)
38                 printf("%s\n", m->pack_names[i]);
39
40         printf("object-dir: %s\n", m->object_dir);
41
42         return 0;
43 }
44
45 int cmd__read_midx(int argc, const char **argv)
46 {
47         if (argc != 2)
48                 usage("read-midx <object-dir>");
49
50         return read_midx_file(argv[1]);
51 }