#[non_exhaustive]pub enum GitError {
CorruptRepo {
path: PathBuf,
message: String,
},
WalkFailed {
path: PathBuf,
message: String,
},
}Expand description
Errors from gix repo inspection. CorruptRepo covers
gix::open failures; WalkFailed covers HEAD / revwalk
failures once the repo is open. Inner causes are stringified at
the construction boundary so the enum stays
Clone + PartialEq + Eq — the Arc<Result<...>> memoization
boundary requires it. See docs/specs/git-segments.md §Change
log (v0.1.1) for the full rationale.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
CorruptRepo
gix::discover or gix::open rejected the path.
WalkFailed
HEAD resolution or any post-open walk failed.
Implementations§
Trait Implementations§
Source§impl Error for GitError
impl Error for GitError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
impl Eq for GitError
impl StructuralPartialEq for GitError
Auto Trait Implementations§
impl Freeze for GitError
impl RefUnwindSafe for GitError
impl Send for GitError
impl Sync for GitError
impl Unpin for GitError
impl UnsafeUnpin for GitError
impl UnwindSafe for GitError
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
Mutably borrows from an owned value. Read more
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
Compare self to
key and return true if they are equal.