aboutsummaryrefslogtreecommitdiffstats
path: root/object.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2023-03-17 14:03:08 -0700
committerJunio C Hamano <gitster@pobox.com>2023-03-17 14:03:09 -0700
commit88cc8ed8bc7d4bc9521b426e95ae2a38d3aec13a (patch)
tree856c32df7cde0ad5322804cddddc5ab09d3128e6 /object.h
parentMerge branch 'en/dir-api-cleanup' (diff)
parentdiff.h: remove unnecessary include of object.h (diff)
downloadgit-88cc8ed8bc7d4bc9521b426e95ae2a38d3aec13a.tar.gz
git-88cc8ed8bc7d4bc9521b426e95ae2a38d3aec13a.zip
Merge branch 'en/header-cleanup'
Code clean-up to clarify the rule that "git-compat-util.h" must be the first to be included. * en/header-cleanup: diff.h: remove unnecessary include of object.h Remove unnecessary includes of builtin.h treewide: replace cache.h with more direct headers, where possible replace-object.h: move read_replace_refs declaration from cache.h to here object-store.h: move struct object_info from cache.h dir.h: refactor to no longer need to include cache.h object.h: stop depending on cache.h; make cache.h depend on object.h ident.h: move ident-related declarations out of cache.h pretty.h: move has_non_ascii() declaration from commit.h cache.h: remove dependence on hex.h; make other files include it explicitly hex.h: move some hex-related declarations from cache.h hash.h: move some oid-related declarations from cache.h alloc.h: move ALLOC_GROW() functions from cache.h treewide: remove unnecessary cache.h includes in source files treewide: remove unnecessary cache.h includes treewide: remove unnecessary git-compat-util.h includes in headers treewide: ensure one of the appropriate headers is sourced first
Diffstat (limited to 'object.h')
-rw-r--r--object.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/object.h b/object.h
index 31ebe11458..fc45b158da 100644
--- a/object.h
+++ b/object.h
@@ -1,7 +1,7 @@
#ifndef OBJECT_H
#define OBJECT_H
-#include "cache.h"
+#include "hash.h"
struct buffer_slab;
@@ -81,6 +81,26 @@ struct object_array {
*/
#define FLAG_BITS 28
+#define TYPE_BITS 3
+
+/*
+ * Values in this enum (except those outside the 3 bit range) are part
+ * of pack file format. See gitformat-pack(5) for more information.
+ */
+enum object_type {
+ OBJ_BAD = -1,
+ OBJ_NONE = 0,
+ OBJ_COMMIT = 1,
+ OBJ_TREE = 2,
+ OBJ_BLOB = 3,
+ OBJ_TAG = 4,
+ /* 5 for future expansion */
+ OBJ_OFS_DELTA = 6,
+ OBJ_REF_DELTA = 7,
+ OBJ_ANY,
+ OBJ_MAX
+};
+
/*
* The object type is stored in 3 bits.
*/