#[non_exhaustive]pub enum RefError {
InvalidRefName(String),
RefNameTooLong {
name: String,
len: usize,
kind: RefNameKind,
},
InvalidRef(String),
InvalidHead,
NoHead,
Conflict(String),
NotFound(String),
CurrentBranch(String),
Io(Error),
RefBatchLengthMismatch {
expected: usize,
actual: usize,
},
}Expand description
Errors raised by this module.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
InvalidRefName(String)
name failed validate_ref_name_grammar.
RefNameTooLong
A new ref’s name is over its kind’s bound: MAX_REF_NAME_BYTES
for a ref name, MAX_BRANCH_NAME_BYTES for a branch and
MAX_TAG_NAME_BYTES for a tag (SPEC-REFS §3).
Fields
kind: RefNameKindWhich bound it broke.
InvalidRef(String)
On-disk bytes were not a valid 65-byte ref wire (length wrong, uppercase hex, non-hex byte, etc.).
InvalidHead
HEAD content was neither a valid symbolic ref nor a valid
detached hash.
NoHead
HEAD is missing.
Conflict(String)
CAS condition failed: ref does not match expected state.
NotFound(String)
Tried to delete a ref that does not exist.
CurrentBranch(String)
Tried to delete the branch HEAD currently points to.
Io(Error)
Underlying I/O failure.
RefBatchLengthMismatch
A list_refs_with-style batch callback returned a different
number of outcomes than candidates it was given — the caller’s
contract violation, not a clean exit-coded error, but caught here
rather than silently desyncing names from hashes.
Trait Implementations§
Source§impl Error for RefError
impl Error for RefError
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<RefError> for GcRootsError
impl From<RefError> for GcRootsError
Source§impl From<RefError> for StashError
impl From<RefError> for StashError
Auto Trait Implementations§
impl !RefUnwindSafe for RefError
impl !UnwindSafe for RefError
impl Freeze for RefError
impl Send for RefError
impl Sync for RefError
impl Unpin for RefError
impl UnsafeUnpin for RefError
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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