summaryrefslogtreecommitdiff
path: root/pack.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-29 05:15:57 (GMT)
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-29 05:15:57 (GMT)
commit01247d87421d621db3866ce7f2124784fc7f46e5 (patch)
tree713dd383b2677965636ec93bb694dcdd8269227c /pack.h
parent69a2d426f0d249bca2c6f754b3c1283c0fa72fd4 (diff)
downloadgit-01247d87421d621db3866ce7f2124784fc7f46e5.zip
git-01247d87421d621db3866ce7f2124784fc7f46e5.tar.gz
git-01247d87421d621db3866ce7f2124784fc7f46e5.tar.bz2
Make git pack files use little-endian size encoding
This makes it match the new delta encoding, and admittedly makes the code easier to follow. This also updates the PACK file version to 2, since this (and the delta encoding change in the previous commit) are incompatible with the old format.
Diffstat (limited to 'pack.h')
-rw-r--r--pack.h19
1 files changed, 13 insertions, 6 deletions
diff --git a/pack.h b/pack.h
index 08e120d..83ac321 100644
--- a/pack.h
+++ b/pack.h
@@ -1,19 +1,26 @@
#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_NONE,
- OBJ_COMMIT,
- OBJ_TREE,
- OBJ_BLOB,
- OBJ_TAG,
- OBJ_DELTA,
+ 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;