aboutsummaryrefslogtreecommitdiff
path: root/objectstore/packed/entry_parse.go
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-02-21 20:40:05 +0800
committerGravatar Runxi Yu2026-02-21 20:40:05 +0800
commitfd55beb6188350974afd93dfffcef973ebdad6e8 (patch)
treef27ef873c60b7c868bf1173979b65effdf251c76 /objectstore/packed/entry_parse.go
parentobjectstore/packed: Improve delta base caching (diff)
signatureNo signature
objectstore/packed: Don't use full delta reconstruction just to read headers
Diffstat (limited to 'objectstore/packed/entry_parse.go')
-rw-r--r--objectstore/packed/entry_parse.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/objectstore/packed/entry_parse.go b/objectstore/packed/entry_parse.go
index 69ef80e6..56287386 100644
--- a/objectstore/packed/entry_parse.go
+++ b/objectstore/packed/entry_parse.go
@@ -56,6 +56,12 @@ func parseEntryMeta(pack *packFile, algo objectid.Algorithm, offset uint64) (ent
return zero, fmt.Errorf("objectstore/packed: pack %q has invalid ofs-delta base", pack.name)
}
meta.baseOfs = offset - entry.OfsBaseDistance
+ case objecttype.TypeCommit, objecttype.TypeTree, objecttype.TypeBlob, objecttype.TypeTag:
+ // Base object types do not have delta base metadata.
+ case objecttype.TypeInvalid, objecttype.TypeFuture:
+ return zero, fmt.Errorf("objectstore/packed: pack %q has unsupported entry type %d", pack.name, meta.ty)
+ default:
+ return zero, fmt.Errorf("objectstore/packed: pack %q has unsupported entry type %d", pack.name, meta.ty)
}
return meta, nil
}