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
 |