Revision c62266f37c677c1de7415ac6cf1e2eb6726590e1 authored by Junio C Hamano on 01 July 2005, 00:13:07 UTC, committed by Linus Torvalds on 01 July 2005, 05:33:47 UTC
This teaches packed_delta_info() that it only needs to look at
the type of the base object to figure out both type and size of
a deltified object.  This saves quite a many calls to inflate()
when dealing with a deep delta chain.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
1 parent d0efc8a
Raw File
pack.h
#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 *);

#endif
back to top