]> git.ipfire.org Git - thirdparty/git.git/blob - t/helper/test-pack-mtimes.c
merge-ort: fix calling merge_finalize() with no intermediate merge
[thirdparty/git.git] / t / helper / test-pack-mtimes.c
1 #include "git-compat-util.h"
2 #include "test-tool.h"
3 #include "strbuf.h"
4 #include "object-store.h"
5 #include "packfile.h"
6 #include "pack-mtimes.h"
7
8 static void dump_mtimes(struct packed_git *p)
9 {
10 uint32_t i;
11 if (load_pack_mtimes(p) < 0)
12 die("could not load pack .mtimes");
13
14 for (i = 0; i < p->num_objects; i++) {
15 struct object_id oid;
16 if (nth_packed_object_id(&oid, p, i) < 0)
17 die("could not load object id at position %"PRIu32, i);
18
19 printf("%s %"PRIu32"\n",
20 oid_to_hex(&oid), nth_packed_mtime(p, i));
21 }
22 }
23
24 static const char *pack_mtimes_usage = "\n"
25 " test-tool pack-mtimes <pack-name.mtimes>";
26
27 int cmd__pack_mtimes(int argc, const char **argv)
28 {
29 struct strbuf buf = STRBUF_INIT;
30 struct packed_git *p;
31
32 setup_git_directory();
33
34 if (argc != 2)
35 usage(pack_mtimes_usage);
36
37 for (p = get_all_packs(the_repository); p; p = p->next) {
38 strbuf_addstr(&buf, basename(p->pack_name));
39 strbuf_strip_suffix(&buf, ".pack");
40 strbuf_addstr(&buf, ".mtimes");
41
42 if (!strcmp(buf.buf, argv[1]))
43 break;
44
45 strbuf_reset(&buf);
46 }
47
48 strbuf_release(&buf);
49
50 if (!p)
51 die("could not find pack '%s'", argv[1]);
52
53 dump_mtimes(p);
54
55 return 0;
56 }