pub enum EffectiveChange {
Inserted {
path: PathBuf,
kind: EntryKind,
attrs: Attrs,
},
Updated {
path: PathBuf,
kind: EntryKind,
previous: Attrs,
current: Attrs,
},
Removed {
path: PathBuf,
kind: EntryKind,
attrs: Attrs,
},
ControlUpdated {
path: PathBuf,
previous: Option<ControlIdentity>,
current: Option<ControlIdentity>,
},
ControlRefusalUpdated {
path: PathBuf,
previous: Option<ControlRefusalReason>,
current: Option<ControlRefusalReason>,
},
Reclassified {
path: PathBuf,
previous_ignored: bool,
current_ignored: bool,
},
Invalidated {
path: PathBuf,
reason: InvalidateReason,
},
}Expand description
One exact fact mutation performed by the index.
These are deliberately more specific than Op. An observation says what a
producer requested; an effective change says what the index actually did. One
upsert may, for example, replace a subtree and insert a differently typed entry.
Variants§
Inserted
A previously absent entry was inserted.
Fields
Updated
An existing entry retained its kind and changed metadata.
Fields
Removed
One entry was removed. Removing a subtree records one change per entry.
Fields
ControlUpdated
Exact control source identity changed.
Fields
previous: Option<ControlIdentity>Previous source identity, or absence.
current: Option<ControlIdentity>Current source identity, or absence.
ControlRefusalUpdated
A control file was refused, or its refusal lifted, so ignore classification’s coverage changed.
A refusal replacing a retained source arrives with the Self::ControlUpdated
that drops the source; a refusal of a file no rule came from arrives alone.
Fields
previous: Option<ControlRefusalReason>Why the file was refused before the commit, or absence.
current: Option<ControlRefusalReason>Why the file is refused after the commit, or absence.
Reclassified
One retained entry moved between the fixed ignored and unignored partitions.
Fields
Invalidated
A producer reported uncertainty that requires verified reconciliation.
Fields
reason: InvalidateReasonWhy precise facts were unavailable.