Skip to main content

Crate git_zero_core

Crate git_zero_core 

Source
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. ValidatedRepository shares 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§

FetchOptions
Bounded history and object selection, sharing the ordinary graph-read budget.
HistoryPolicy
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§

BlobFilter
Partial-clone object policies. Explicitly wanted objects are retained.
Error

Type Aliases§

Result