pub struct PackEnumerateOptions<'a> {
pub filter: Option<&'a ObjectFilter>,
pub shallow_grafts: &'a HashSet<ObjectId>,
pub have_shallow_grafts: Option<&'a HashSet<ObjectId>>,
pub use_bitmaps: bool,
pub exclude_objects: Option<&'a HashSet<ObjectId>>,
pub peer_odb: Option<&'a Odb>,
pub have_boundary: HaveBoundary,
}Expand description
Parameters for enumerate_pack_objects.
Fields§
§filter: Option<&'a ObjectFilter>Partial-clone filter applied to the want side (when supported).
shallow_grafts: &'a HashSet<ObjectId>Shallow graft boundaries on the want side: do not walk past these commits when enumerating objects to send. When non-empty, bitmap enumeration is skipped and the object walk is used.
have_shallow_grafts: Option<&'a HashSet<ObjectId>>Shallow graft boundaries when walking client haves to build the peer
closure. Defaults to Self::shallow_grafts when unset. When non-empty,
bitmaps are not used: a bitmap closure of a have runs past the client’s
shallow boundary into history the client does not hold.
use_bitmaps: boolWhen false, always use the object walk even if bitmaps exist.
exclude_objects: Option<&'a HashSet<ObjectId>>Extra negotiation boundaries merged into the walk (legacy local-fetch hints).
peer_odb: Option<&'a Odb>When wants are read from another ODB, objects already stored here are boundaries.
have_boundary: HaveBoundaryWhether haves are expanded to a full commit closure before the want walk.