git-commit-vandalism/t/helper/test-pack-mtimes.c
Elijah Newren a6dc3d364c treewide: remove unnecessary cache.h inclusion from a few headers
Ever since a64215b6cd ("object.h: stop depending on cache.h; make
cache.h depend on object.h", 2023-02-24), we have a few headers that
could have replaced their include of cache.h with an include of
object.h.  Make that change now.

Some C files had to start including cache.h after this change (or some
smaller header it had brought in), because the C files were depending
on things from cache.h but were only formerly implicitly getting
cache.h through one of these headers being modified in this patch.

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-03-21 10:56:50 -07:00

58 lines
1.1 KiB
C

#include "test-tool.h"
#include "cache.h"
#include "hex.h"
#include "strbuf.h"
#include "object-store.h"
#include "packfile.h"
#include "pack-mtimes.h"
static void dump_mtimes(struct packed_git *p)
{
uint32_t i;
if (load_pack_mtimes(p) < 0)
die("could not load pack .mtimes");
for (i = 0; i < p->num_objects; i++) {
struct object_id oid;
if (nth_packed_object_id(&oid, p, i) < 0)
die("could not load object id at position %"PRIu32, i);
printf("%s %"PRIu32"\n",
oid_to_hex(&oid), nth_packed_mtime(p, i));
}
}
static const char *pack_mtimes_usage = "\n"
" test-tool pack-mtimes <pack-name.mtimes>";
int cmd__pack_mtimes(int argc, const char **argv)
{
struct strbuf buf = STRBUF_INIT;
struct packed_git *p;
setup_git_directory();
if (argc != 2)
usage(pack_mtimes_usage);
for (p = get_all_packs(the_repository); p; p = p->next) {
strbuf_addstr(&buf, basename(p->pack_name));
strbuf_strip_suffix(&buf, ".pack");
strbuf_addstr(&buf, ".mtimes");
if (!strcmp(buf.buf, argv[1]))
break;
strbuf_reset(&buf);
}
strbuf_release(&buf);
if (!p)
die("could not find pack '%s'", argv[1]);
dump_mtimes(p);
return 0;
}