pub enum UpdateError {
Show 22 variants
ToolConfigMissing {
path: PathBuf,
},
ToolConfig(ToolConfigError),
DirtyWorkingTree,
OpenRepo {
path: PathBuf,
source: Box<Error>,
},
GitStatus(Box<Error>),
NoRemote {
path: PathBuf,
},
Connect(Box<Error>),
PrepareFetch(Box<Error>),
Fetch(Box<Error>),
DetachedHead,
NoTrackingRef {
branch: String,
},
MergeBase(Error),
NotFastForward,
RefEdit(Error),
IndexFromTree(Error),
Checkout(Box<Error>),
WriteIndex(Error),
CheckoutOptions(Box<Error>),
OdbArc(Error),
PeelRef(Error),
Deploy(DeployError),
Hook {
name: String,
source: Box<RunnerError>,
},
}Expand description
Errors from update.
Variants§
ToolConfigMissing
Tool config is missing — the user needs to run krypt init first.
ToolConfig(ToolConfigError)
Loading the tool config failed.
DirtyWorkingTree
The working tree has uncommitted changes.
A dirty dotfiles repo before krypt update is a smell, not a normal
state. The right answer is to commit, stash, or discard changes first.
Auto-stash was removed while gix lacks a stash API; when gix ships
stash support the auto-stash flow with a --no-stash opt-out will be
restored.
OpenRepo
Opening the git repository failed.
Fields
GitStatus(Box<Error>)
Checking dirty status failed.
NoRemote
No default remote found.
Connect(Box<Error>)
Connecting to the remote failed.
PrepareFetch(Box<Error>)
Preparing the fetch failed.
Fetch(Box<Error>)
The fetch itself failed.
DetachedHead
HEAD is detached (or the operation that needs HEAD failed).
NoTrackingRef
No remote-tracking ref found for the local branch.
MergeBase(Error)
Computing the merge-base failed (needed for FF check).
NotFastForward
The remote has commits that are not a fast-forward of the local HEAD.
RefEdit(Error)
Advancing the local branch reference failed.
IndexFromTree(Error)
Rebuilding the index from the new tree failed.
Checkout(Box<Error>)
Checking out the new working-tree state failed.
WriteIndex(Error)
Writing the updated index to disk failed.
CheckoutOptions(Box<Error>)
Resolving the checkout options failed.
OdbArc(Error)
Converting the object store to an Arc failed.
PeelRef(Error)
Peeling a reference to its target OID failed.
Deploy(DeployError)
link step failed.
Hook
A post-update hook failed and ignore_failure was not set.
RunnerError is boxed to keep the enum variant ≤ 128 bytes on Windows.
Trait Implementations§
Source§impl Debug for UpdateError
impl Debug for UpdateError
Source§impl Display for UpdateError
impl Display for UpdateError
Source§impl Error for UpdateError
impl Error for UpdateError
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<DeployError> for UpdateError
impl From<DeployError> for UpdateError
Source§fn from(source: DeployError) -> Self
fn from(source: DeployError) -> Self
Source§impl From<ToolConfigError> for UpdateError
impl From<ToolConfigError> for UpdateError
Source§fn from(source: ToolConfigError) -> Self
fn from(source: ToolConfigError) -> Self
Auto Trait Implementations§
impl Freeze for UpdateError
impl !RefUnwindSafe for UpdateError
impl Send for UpdateError
impl Sync for UpdateError
impl Unpin for UpdateError
impl UnsafeUnpin for UpdateError
impl !UnwindSafe for UpdateError
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