/* Header consistency check */
hdr = p->pack_base;
if (hdr->hdr_signature != htonl(PACK_SIGNATURE))
- return error("Packfile signature mismatch", p->pack_name);
- if (hdr->hdr_version != htonl(PACK_VERSION))
- return error("Packfile version %d different from ours %d",
- ntohl(hdr->hdr_version), PACK_VERSION);
+ return error("Packfile %s signature mismatch", p->pack_name);
+ if (!pack_version_ok(hdr->hdr_version))
+ return error("Packfile version %d unsupported",
+ ntohl(hdr->hdr_version));
nr_objects = ntohl(hdr->hdr_entries);
if (num_packed_objects(p) != nr_objects)
return error("Packfile claims to have %d objects, "
char type[20];
unsigned long size;
unsigned long store_size;
- int delta_chain_length;
+ unsigned int delta_chain_length;
if (nth_packed_object_sha1(p, i, sha1))
die("internal error pack-check nth-packed-object");
if (!delta_chain_length)
printf("%-6s %lu %u\n", type, size, e.offset);
else
- printf("%-6s %lu %u %d %s\n", type, size, e.offset,
+ printf("%-6s %lu %u %u %s\n", type, size, e.offset,
delta_chain_length, sha1_to_hex(base_sha1));
}