pub struct UnpackOptions {
pub dry_run: bool,
pub quiet: bool,
pub strict: bool,
pub allowed_missing: HashSet<ObjectId>,
pub allow_promisor_missing_references: bool,
pub max_input_bytes: Option<u64>,
pub shallow_boundaries: HashSet<ObjectId>,
}Expand description
Options controlling unpack-objects behaviour.
Fields§
§dry_run: boolValidate and decompress objects but do not write them to the ODB.
quiet: boolSuppress informational output.
strict: boolReject packs whose commits/trees/tags reference missing objects.
allowed_missing: HashSet<ObjectId>Object IDs that strict connectivity may treat as promised by a configured promisor remote.
allow_promisor_missing_references: boolWhether strict connectivity may tolerate references to missing objects in a promisor repo.
max_input_bytes: Option<u64>Maximum number of raw pack bytes that may be consumed (including the 20-byte trailer).
Matches Git’s unpack-objects --max-input-size / receive.maxInputSize: counts every
byte read from the pack stream after crossing the limit. None means no limit.
shallow_boundaries: HashSet<ObjectId>Commit OIDs that are shallow boundaries (grafts): their parents are intentionally absent and
must not be required during the --strict connectivity walk.
Mirrors unpack-objects --shallow-file <file> in upstream receive-pack, where the shallow
file lists the commits whose parent objects were deliberately not transferred.