aboutsummaryrefslogtreecommitdiff
path: root/object/type
diff options
context:
space:
mode:
Diffstat (limited to 'object/type')
-rw-r--r--object/type/objecttype.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/object/type/objecttype.go b/object/type/objecttype.go
index 18e0ac35..d803cadf 100644
--- a/object/type/objecttype.go
+++ b/object/type/objecttype.go
@@ -14,3 +14,16 @@ const (
TypeOfsDelta Type = 6
TypeRefDelta Type = 7
)
+
+// IsBaseObject reports whether ty is one of the four canonical Git object
+// types encoded directly in pack entries.
+func (ty Type) IsBaseObject() bool {
+ switch ty {
+ case TypeCommit, TypeTree, TypeBlob, TypeTag:
+ return true
+ case TypeInvalid, TypeFuture, TypeOfsDelta, TypeRefDelta:
+ return false
+ default:
+ return false
+ }
+}