X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=index-pack.c;h=b39953dc698aae25f79caa9553e13bca6cd4e986;hb=175fb6c0406e63a10791ab793cdac2acf185eab0;hp=541d7bc1c1723c1a41cd35349b607223c94a4dca;hpb=7e4a2a848377241b8fb4f624d1151bbf2f8d5814;p=git.git diff --git a/index-pack.c b/index-pack.c index 541d7bc1..b39953dc 100644 --- a/index-pack.c +++ b/index-pack.c @@ -2,6 +2,10 @@ #include "delta.h" #include "pack.h" #include "csum-file.h" +#include "blob.h" +#include "commit.h" +#include "tag.h" +#include "tree.h" static const char index_pack_usage[] = "git-index-pack [-o index-file] pack-file"; @@ -68,9 +72,9 @@ static void parse_pack_header(void) hdr = (void *)pack_base; if (hdr->hdr_signature != htonl(PACK_SIGNATURE)) die("packfile '%s' signature mismatch", pack_name); - if (hdr->hdr_version != htonl(PACK_VERSION)) - die("packfile '%s' version %d different from ours %d", - pack_name, ntohl(hdr->hdr_version), PACK_VERSION); + if (!pack_version_ok(hdr->hdr_version)) + die("packfile '%s' version %d unsupported", + pack_name, ntohl(hdr->hdr_version)); nr_objects = ntohl(hdr->hdr_entries); @@ -224,10 +228,10 @@ static void sha1_object(const void *data, unsigned long size, const char *type_str; switch (type) { - case OBJ_COMMIT: type_str = "commit"; break; - case OBJ_TREE: type_str = "tree"; break; - case OBJ_BLOB: type_str = "blob"; break; - case OBJ_TAG: type_str = "tag"; break; + case OBJ_COMMIT: type_str = commit_type; break; + case OBJ_TREE: type_str = tree_type; break; + case OBJ_BLOB: type_str = blob_type; break; + case OBJ_TAG: type_str = tag_type; break; default: die("bad type %d", type); }