pub enum Refusal {
OutsideRoot,
AlreadyCovered(PathBuf),
RecentlyUsed {
age: Option<Duration>,
},
OtherFileSystem,
HoldsCheckout,
WorkTreeInUse,
WorkTreeDetached,
Unreadable(String),
}Expand description
Why a directory was left where it is.
Variants§
OutsideRoot
It did not resolve to somewhere under the scan root. Covers .., a symlinked
ancestor, an absolute path from somewhere else, and the scan root itself.
AlreadyCovered(PathBuf)
Another target in the same plan contains it, so removing that one removes this.
RecentlyUsed
Touched more recently than the age floor allows.
Fields
OtherFileSystem
On a different filesystem from the scan root, and one_file_system is on.
HoldsCheckout
It holds a git checkout, so somewhere under it is work that may exist nowhere else.
WorkTreeInUse
It is a linked work tree, but it has uncommitted changes or untracked files.
Ignored files are not work — a work tree carrying 4 GiB of node_modules is clean, and
that content is what this program exists to regenerate rather than keep.
WorkTreeDetached
It is a linked work tree whose HEAD is detached.
The one way removing one of these loses a commit: work committed on a detached HEAD is
reachable only through that work tree’s own HEAD, so once the directory goes and the
administrative files are pruned, nothing refers to it. On a branch it is an ordinary ref
in the repository and survives the directory by design.
Unreadable(String)
It could not be read, so nothing about it could be proved.
Trait Implementations§
impl Eq for Refusal
impl StructuralPartialEq for Refusal
Auto Trait Implementations§
impl Freeze for Refusal
impl RefUnwindSafe for Refusal
impl Send for Refusal
impl Sync for Refusal
impl Unpin for Refusal
impl UnsafeUnpin for Refusal
impl UnwindSafe for Refusal
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
CompactString. Read more