Expand description
Allocation-free Git objects, repositories and wire primitives.
read enables inflation, pack decoding and repository validation.
write enables snapshots, pack/zlib encoding and pack caching.
Storage and I/O belong to the caller. There is no std, alloc, allocator,
global state, filesystem, or socket dependency in this crate.
Re-exports§
pub use object::HexId;pub use object::Object;pub use object::ObjectDigest;pub use object::ObjectFormat;pub use object::ObjectId;pub use object::ObjectInfo;pub use object::ObjectKind;pub use reader::ObjectHasher;pub use reader::ObjectReader;pub use repository::EmptyRepository;pub use repository::Head;pub use repository::IndexedRepository;pub use repository::ObjectMetadata;pub use repository::RefRepository;pub use repository::Reference;pub use repository::Repository;pub use snapshot::CommitIdentity;pub use snapshot::CommitOptions;pub use snapshot::Entry;pub use snapshot::EntryKind;pub use snapshot::File;pub use snapshot::Snapshot;pub use snapshot::SnapshotBuilder;pub use validation::RevisionLimits;pub use validation::RevisionOptions;pub use validation::RevisionState;pub use validation::SelectionOptions;pub use validation::ShallowChange;pub use validation::ValidatedRepository;pub use validation::ValidationMetadata;
Modules§
- cache
- checkout
- Borrowed file contents and bounded checkout traversal for caller-owned stores.
- http
- Shared HTTP request and response values; framing belongs to the host.
- io
- object
- pack
- pktline
- reader
- Bounded object reads and resumable repository-format hashing. State is inline; callers own the body buffer and can retain state between individual steps.
- repository
- Immutable object/ref providers, HEAD states, ref validation and symbolic resolution.
Fetch graph validation and selection live in
validation. - snapshot
- validation
- Object/link validation and bounded reachable-object selection for upload-pack.
ValidatedRepositoryshares its authenticated index with fetch history traversal. Opt-in validation of the repository graph contract, without allocation. - zlib
- Allocation-free streaming zlib encoding and inflation (RFC 1950/1951). The encoder uses stored blocks; the decoder also accepts fixed and dynamic Huffman blocks, with caller-owned history and explicit expansion budgets. The decoder is implemented from RFC 1950 and RFC 1951.
Structs§
- Fetch
Options - Bounded history and object selection, sharing the ordinary graph-read budget.
- History
Policy - History decisions for an external, host-owned graph frontier. The host supplies the shortest commit distance from wanted roots (starting at one) and persists deduplication, exclusions and work budgets outside this value.
Enums§
- Blob
Filter - Partial-clone object policies. Explicitly wanted objects are retained.
- Error