#[non_exhaustive]pub struct OffloadReport {Show 18 fields
pub remote: String,
pub lop_git_dir: PathBuf,
pub filter: ObjectFilterSpec,
pub dry_run: bool,
pub candidates: usize,
pub candidate_bytes: u64,
pub copied_to_lop: usize,
pub already_in_lop: usize,
pub dropped_from_main: usize,
pub skipped_checked_out: usize,
pub skipped_kept_pack: usize,
pub lop_pack: Option<OffloadPack>,
pub main_pack: Option<OffloadPack>,
pub main_bytes_before: u64,
pub main_bytes_after: u64,
pub config_changes: Vec<OffloadConfigChange>,
pub lop_ready: LopReadiness,
pub advertised: bool,
}Expand description
What offload_blobs did (or, with OffloadOptions::dry_run, would do).
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.remote: StringThe promisor remote the blobs moved to.
lop_git_dir: PathBufThe LOP’s git directory.
filter: ObjectFilterSpecThe filter that chose the blobs.
dry_run: boolTrue when nothing was written.
candidates: usizeBlobs stored in the main repository that the filter selects and that may move.
candidate_bytes: u64Their total size, uncompressed.
copied_to_lop: usizeCandidates copied into a new LOP pack.
already_in_lop: usizeCandidates the LOP already had in a pack an earlier offload wrote there (its
.keep marker holds LOP_KEEP_MESSAGE). A loose or unkept copy there
does not count (the LOP’s gc may prune it), nor does one in a pack another
writer keeps for a while (receive-pack, fetch-pack), nor one it reaches
through alternates; those candidates are copied.
dropped_from_main: usizeCandidates no longer stored in the main repository afterwards.
skipped_checked_out: usizeSelected blobs kept because a checkout of the main repository needs them
(a worktree’s index or HEAD).
skipped_kept_pack: usizeSelected blobs kept because they are in a .keep pack (or the only tree
naming them is), which offload does not rewrite.
lop_pack: Option<OffloadPack>The pack added to the LOP, holding the blobs copied there, if any.
main_pack: Option<OffloadPack>The promisor pack the main repository’s objects now live in (its commits, trees, tags and the blobs it keeps), if rewritten.
main_bytes_before: u64Bytes of the main repository’s local packs and loose objects before.
main_bytes_after: u64The same afterwards (equal to the before value on a dry run).
config_changes: Vec<OffloadConfigChange>Config values set, in the order they were written.
lop_ready: LopReadinessThe LOP’s upload-pack settings after the run.
advertised: boolpromisor.advertise is true in the main repository, so its upload-pack tells
clients about the LOP.
Implementations§
Source§impl OffloadReport
impl OffloadReport
Sourcepub fn packs(&self) -> impl Iterator<Item = &OffloadPack>
pub fn packs(&self) -> impl Iterator<Item = &OffloadPack>
The packs the run wrote, in the order they were written: the LOP pack, then the main repository’s promisor pack.
Trait Implementations§
Source§impl Clone for OffloadReport
impl Clone for OffloadReport
Source§impl Debug for OffloadReport
impl Debug for OffloadReport
impl Eq for OffloadReport
Source§impl PartialEq for OffloadReport
impl PartialEq for OffloadReport
impl StructuralPartialEq for OffloadReport
Auto Trait Implementations§
impl Freeze for OffloadReport
impl RefUnwindSafe for OffloadReport
impl Send for OffloadReport
impl Sync for OffloadReport
impl Unpin for OffloadReport
impl UnsafeUnpin for OffloadReport
impl UnwindSafe for OffloadReport
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.