pub enum UninstalledChange {
SymlinkRemoved {
entry_id: String,
dest: PathBuf,
},
ManagedBlockRemoved {
entry_id: String,
config_file: PathBuf,
},
SymlinkSkippedForeign {
entry_id: String,
dest: PathBuf,
actual_target: PathBuf,
expected_source: PathBuf,
},
SymlinkSkippedRegularFile {
entry_id: String,
dest: PathBuf,
},
NoOp {
entry_id: String,
dest: PathBuf,
},
}Expand description
One change the executor emitted while walking the plan. Skipped*
variants record “we left this alone” — they are not errors, but the
dry-run printer surfaces them so operators can see uninstall declined
to delete content it did not own.
Variants§
SymlinkRemoved
The symlink at dest pointed at the expected install source and
was removed.
ManagedBlockRemoved
The managed block was located in config_file and removed; bytes
outside the marker pair were preserved verbatim.
SymlinkSkippedForeign
dest is a symlink, but it points somewhere other than the
install source we recorded. The executor refuses to remove it.
expected_source carries the install source path the executor was
comparing against. The CLI prints both actual_target (what the
symlink currently resolves to) and expected_source (what it
would have been if uninstall could remove it) so an operator who
rebased their kit checkout can tell whether to re-point
--source-root or rm the orphaned symlinks by hand.
SymlinkSkippedRegularFile
dest is a regular file (not a symlink). Uninstall does not own
destruction of regular files — that responsibility lives in
restore-backups (Sprint 2 Task 2.2).
NoOp
Nothing at dest (already removed by a prior run, or never
installed) — idempotent no-op.
Trait Implementations§
Source§impl Clone for UninstalledChange
impl Clone for UninstalledChange
Source§impl Debug for UninstalledChange
impl Debug for UninstalledChange
impl Eq for UninstalledChange
Source§impl PartialEq for UninstalledChange
impl PartialEq for UninstalledChange
impl StructuralPartialEq for UninstalledChange
Auto Trait Implementations§
impl Freeze for UninstalledChange
impl RefUnwindSafe for UninstalledChange
impl Send for UninstalledChange
impl Sync for UninstalledChange
impl Unpin for UninstalledChange
impl UnsafeUnpin for UninstalledChange
impl UnwindSafe for UninstalledChange
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.