Skip to main content

Module object

Module object 

Source

Structs§

Commit
A commit’s root tree and exact message bytes. This checks the root header and header/message separator, not identity semantics or graph reachability.
HexId
Fixed-memory hex storage, exposing only the active 40 or 64 bytes.
LinkDecoder
Scan one canonical object body across arbitrary chunks. Blobs/messages are skipped without retaining them; commit parents and tag targets are emitted with their expected kinds. Tree names borrow caller scratch until resumption. Scratch is divided equally into current/previous names; other kinds need none.
LinkLimits
LinkProgress
Object
ObjectDigest
Canonical object hashing for chunked or asynchronous storage. Updates are all-or-nothing; a length mismatch never authenticates a partial object.
ObjectInfo
Object metadata independent of how its body is stored. Lengths are 64-bit so generated objects need not fit in one slice, including on 32-bit hosts.
Tag
The target and declared target kind of an annotated tag. Graph validation must additionally check that the actual target exists and has this kind.
Tree
A structurally valid tree, including Git ordering and unique byte names. Validation uses constant storage. File/directory aliases can be separated by other names in Git order, so checking them may reread earlier entries. Every read, including these rescans, consumes an encoded-byte work budget.
TreeEntries
TreeEntry
One Git tree entry. Names are byte strings; filesystem-specific name limits and policies belong to the host. Modes retain Git’s original octal values.

Enums§

LinkRelation
LinkStatus
ObjectFormat
One repository’s object/hash encoding. Object formats cannot be mixed.
ObjectId
A format-tagged object ID; no truncation or implicit format conversion.
ObjectKind