pub enum TreeSnapshot {
Git(GitTree),
NoRepo,
Failed(String),
}Expand description
The working tree as recorded before a turn (or before an undo/redo).
Variants§
Git(GitTree)
The tree, staging area and HEAD at that moment.
NoRepo
Not inside a git work tree; undo leaves files alone.
Failed(String)
A repository, but git could not take the snapshot (unmerged paths, a broken index). Undo must leave files alone: nothing records what they held.
Trait Implementations§
Source§impl Clone for TreeSnapshot
impl Clone for TreeSnapshot
Source§impl Debug for TreeSnapshot
impl Debug for TreeSnapshot
impl Eq for TreeSnapshot
Source§impl PartialEq for TreeSnapshot
impl PartialEq for TreeSnapshot
impl StructuralPartialEq for TreeSnapshot
Auto Trait Implementations§
impl Freeze for TreeSnapshot
impl RefUnwindSafe for TreeSnapshot
impl Send for TreeSnapshot
impl Sync for TreeSnapshot
impl Unpin for TreeSnapshot
impl UnsafeUnpin for TreeSnapshot
impl UnwindSafe for TreeSnapshot
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<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> ⓘ
Converts
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> ⓘ
Converts
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