mirror of
https://github.com/git/git.git
synced 2024-11-28 04:23:30 +08:00
f3bf922409
Nico pointed out that having verify_pack.c and verify-pack.c was confusing. Rename verify_pack.c to pack-check.c as suggested, and enhances the verification done quite a bit. - Built-in sha1_file unpacking knows that a base object of a deltified object _must_ be in the same pack, and takes advantage of that fact. - Earlier verify-pack command only checked the SHA1 sum for the entire pack file and did not look into its contents. It now checks everything idx file claims to have unpacks correctly. - It now has a hook to give more detailed information for objects contained in the pack under -v flag. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
33 lines
618 B
C
33 lines
618 B
C
#ifndef PACK_H
|
|
#define PACK_H
|
|
|
|
/*
|
|
* The packed object type is stored in 3 bits.
|
|
* The type value 0 is a reserved prefix if ever there is more than 7
|
|
* object types, or any future format extensions.
|
|
*/
|
|
enum object_type {
|
|
OBJ_EXT = 0,
|
|
OBJ_COMMIT = 1,
|
|
OBJ_TREE = 2,
|
|
OBJ_BLOB = 3,
|
|
OBJ_TAG = 4,
|
|
/* 5/6 for future expansion */
|
|
OBJ_DELTA = 7,
|
|
};
|
|
|
|
/*
|
|
* Packed object header
|
|
*/
|
|
#define PACK_SIGNATURE 0x5041434b /* "PACK" */
|
|
#define PACK_VERSION 2
|
|
struct pack_header {
|
|
unsigned int hdr_signature;
|
|
unsigned int hdr_version;
|
|
unsigned int hdr_entries;
|
|
};
|
|
|
|
extern int verify_pack(struct packed_git *, int);
|
|
|
|
#endif
|