pub enum BackendError {
InvalidHashLength {
expected: usize,
actual: usize,
object_type: String,
hash: String,
},
InvalidUtf8 {
object_type: String,
hash: String,
source: Utf8Error,
},
ObjectNotFound {
object_type: String,
hash: String,
source: Box<dyn Error + Send + Sync>,
},
ReadObject {
object_type: String,
hash: String,
source: Box<dyn Error + Send + Sync>,
},
ReadAccessDenied {
object_type: String,
hash: String,
source: Box<dyn Error + Send + Sync>,
},
ReadFile {
path: RepoPathBuf,
id: FileId,
source: Box<dyn Error + Send + Sync>,
},
WriteObject {
object_type: &'static str,
source: Box<dyn Error + Send + Sync>,
},
Other(Box<dyn Error + Send + Sync>),
Unsupported(String),
}Expand description
Commit-backend error that may occur after the backend is loaded.
Variants§
InvalidHashLength
The caller attempted to read an object by specifying an ID with an invalid hash length for this backend.
Fields
InvalidUtf8
The caller attempted to read an object that internally stored as invalid UTF-8, such as a symlink target with invalid UTF-8 stored in the Git backend.
Fields
ObjectNotFound
The caller attempted to read an object that doesn’t exist.
Fields
ReadObject
Failed to read an object due to an I/O error or other unexpected error.
Fields
ReadAccessDenied
The caller attempted to read an object but doesn’t have permission to read it.
Fields
ReadFile
Failed to read a file’s content due to an I/O error or other unexpected error.
Fields
path: RepoPathBufThe path of the file we failed to read.
WriteObject
Failed to write an object due to an I/O error or other unexpected error.
Fields
Other(Box<dyn Error + Send + Sync>)
Some other error that doesn’t fit into the above categories.
Unsupported(String)
A valid operation was attempted, but it failed because it isn’t supported by the particular backend.
Trait Implementations§
Source§impl Debug for BackendError
impl Debug for BackendError
Source§impl Display for BackendError
impl Display for BackendError
Source§impl Error for BackendError
impl Error for BackendError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<BackendError> for AbsorbError
impl From<BackendError> for AbsorbError
Source§fn from(source: BackendError) -> Self
fn from(source: BackendError) -> Self
Source§impl From<BackendError> for BisectionError
impl From<BackendError> for BisectionError
Source§fn from(source: BackendError) -> Self
fn from(source: BackendError) -> Self
Source§impl From<BackendError> for CheckOutCommitError
impl From<BackendError> for CheckOutCommitError
Source§fn from(source: BackendError) -> Self
fn from(source: BackendError) -> Self
Source§impl From<BackendError> for CheckoutError
impl From<BackendError> for CheckoutError
Source§fn from(source: BackendError) -> Self
fn from(source: BackendError) -> Self
Source§impl From<BackendError> for EditCommitError
impl From<BackendError> for EditCommitError
Source§fn from(source: BackendError) -> Self
fn from(source: BackendError) -> Self
Source§impl From<BackendError> for FixError
impl From<BackendError> for FixError
Source§fn from(source: BackendError) -> Self
fn from(source: BackendError) -> Self
Source§impl From<BackendError> for GitImportError
impl From<BackendError> for GitImportError
Source§fn from(source: BackendError) -> Self
fn from(source: BackendError) -> Self
Source§impl From<BackendError> for GitResetHeadError
impl From<BackendError> for GitResetHeadError
Source§fn from(source: BackendError) -> Self
fn from(source: BackendError) -> Self
Source§impl From<BackendError> for RecoverWorkspaceError
impl From<BackendError> for RecoverWorkspaceError
Source§fn from(source: BackendError) -> Self
fn from(source: BackendError) -> Self
Source§impl From<BackendError> for RepoLoaderError
impl From<BackendError> for RepoLoaderError
Source§fn from(source: BackendError) -> Self
fn from(source: BackendError) -> Self
Source§impl From<BackendError> for ResetError
impl From<BackendError> for ResetError
Source§fn from(source: BackendError) -> Self
fn from(source: BackendError) -> Self
Source§impl From<BackendError> for RevsetEvaluationError
impl From<BackendError> for RevsetEvaluationError
Source§fn from(source: BackendError) -> Self
fn from(source: BackendError) -> Self
Source§impl From<BackendError> for SnapshotError
impl From<BackendError> for SnapshotError
Source§fn from(source: BackendError) -> Self
fn from(source: BackendError) -> Self
Source§impl From<BackendError> for UnifiedDiffError
impl From<BackendError> for UnifiedDiffError
Source§fn from(source: BackendError) -> Self
fn from(source: BackendError) -> Self
Source§impl From<BackendError> for WalkPredecessorsError
impl From<BackendError> for WalkPredecessorsError
Source§fn from(source: BackendError) -> Self
fn from(source: BackendError) -> Self
Source§impl From<GitBackendError> for BackendError
impl From<GitBackendError> for BackendError
Source§fn from(err: GitBackendError) -> Self
fn from(err: GitBackendError) -> Self
Auto Trait Implementations§
impl Freeze for BackendError
impl !RefUnwindSafe for BackendError
impl Send for BackendError
impl Sync for BackendError
impl Unpin for BackendError
impl UnsafeUnpin for BackendError
impl !UnwindSafe for BackendError
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> ErrorExt for T
impl<T> ErrorExt for T
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