pub struct PurgeReport {
pub applied: bool,
pub no_op: bool,
pub commits_total: usize,
pub commits_rewritten: usize,
pub blobs_dropped: usize,
pub bytes_reclaimed: u64,
pub refs_updated: Vec<(String, String, String)>,
pub annotated_tags_skipped: Vec<String>,
pub backup_ref_prefix: Option<String>,
pub backup_file: Option<PathBuf>,
}Expand description
Result of purge_paths (identical shape for dry-run and apply).
Fields§
§applied: boolWhether the rewrite was actually performed (apply was set and there was
something to do).
no_op: booltrue when nothing referenced any target path — a genuine no-op (this is
what a second, idempotent purge of the same path reports).
commits_total: usizeTotal reachable commits considered.
commits_rewritten: usizeCommits whose object changed (tree stripped and/or a parent remapped).
blobs_dropped: usizeDistinct blob objects that become unreachable (were referenced ONLY via a purged path).
bytes_reclaimed: u64Sum of the dropped blobs’ sizes — the exact on-disk reclamation a
subsequent git gc --prune=now will realize.
refs_updated: Vec<(String, String, String)>(ref_name, old_sha, new_sha) for every ref repointed (apply) or that
would be repointed (dry-run).
Annotated-tag refs left untouched (documented seam), by full ref name.
backup_ref_prefix: Option<String>On apply: the refs/original/… backup namespace prefix that now mirrors the
pre-rewrite ref tips.
backup_file: Option<PathBuf>On apply: path to the plain-text backup file recording old ref→sha lines.
Trait Implementations§
Source§impl Clone for PurgeReport
impl Clone for PurgeReport
Source§fn clone(&self) -> PurgeReport
fn clone(&self) -> PurgeReport
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more