Skip to main content

IngestPackOptions

Struct IngestPackOptions 

Source
pub struct IngestPackOptions {
    pub fix_thin: bool,
    pub threads: Option<usize>,
    pub skip_post_index_verify: bool,
    pub merged_config: Option<ConfigSet>,
    pub environment: Environment,
    pub mark_promisor_pack: bool,
    pub keep_message: Option<String>,
    pub trusted_index_rows: Option<Vec<(ObjectId, u64, u32)>>,
}
Expand description

Options controlling how a received pack is ingested.

Fields§

§fix_thin: bool

When true, append missing ref-delta bases from odb before indexing (matches git index-pack --fix-thin).

§threads: Option<usize>

Worker threads for index-pack hashing (None/Some(0) → read pack.threads or all CPUs).

§skip_post_index_verify: bool

Skip the redundant post-index verify_pack_and_collect pass after the pack trailer was validated during indexing. Does not disable trailer checks.

§merged_config: Option<ConfigSet>

Merged config from the fetch/clone environment (includes command-scope GIT_CONFIG_*).

§environment: Environment

Environment used when Self::merged_config is unset and config is loaded from disk.

§mark_promisor_pack: bool

When true, write an empty sibling .promisor file next to the installed pack.

§keep_message: Option<String>

When set, write a sibling .keep file holding this message (Git’s index-pack --keep=<msg>), so gc and repack leave the pack alone.

The marker is written before the pack is published, so a concurrent gc never sees the pack unprotected. A large-object promisor relies on that, since nothing references the blobs it holds.

§trusted_index_rows: Option<Vec<(ObjectId, u64, u32)>>

Rows for a pack built in-process (oid, pack offset, per-object CRC32). When set, the pack body is not rescanned to rebuild the index (local repack/gc only); together with Self::skip_post_index_verify the pack’s trailer is trusted as written too, so the body is not read at all.

Trait Implementations§

Source§

impl Clone for IngestPackOptions

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for IngestPackOptions

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for IngestPackOptions

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.