Enum Preflight
pub enum Preflight {
Ready,
NotARepository {
repo_path: String,
},
EmptyRepository,
OutputNotWritable {
path: String,
reason: String,
},
RepoPathMissing {
repo_path: String,
},
}Expand description
Outcome of the pre-flight gate. Ready is the only variant that allows
the analysis to proceed; everything else aborts with a clean banner-shaped
error and a non-zero exit code.
Each failure variant carries the data needed to render a one-line hint telling the user how to fix it.
Variants§
Ready
All checks passed; the ingest pipeline can run.
NotARepository
The given --repo path resolves but isn’t a git repository.
(gix::open() reports RepositoryMissing or similar.)
EmptyRepository
Repository opens but has no commits (git init with nothing staged
yet). Every analysis needs history; abort with a clear message.
OutputNotWritable
--output PATH was set but PATH’s parent directory doesn’t exist or
isn’t writable. Catching this BEFORE the 30-second ingest is the whole
point of a pre-flight.
RepoPathMissing
--repo PATH doesn’t exist on the filesystem.
Implementations§
Trait Implementations§
impl Eq for Preflight
impl StructuralPartialEq for Preflight
Auto Trait Implementations§
impl Freeze for Preflight
impl RefUnwindSafe for Preflight
impl Send for Preflight
impl Sync for Preflight
impl Unpin for Preflight
impl UnsafeUnpin for Preflight
impl UnwindSafe for Preflight
Blanket Implementations§
impl<T> Allocation for T
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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<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<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 more