pub enum GuardedCommand {
Show 18 variants
Stash,
Clean,
ResetHard,
ResetMixed,
RestoreStaged,
RestoreWorktree,
CheckoutPaths,
CheckoutMove,
SwitchForce,
SwitchMove,
Remove,
Move,
CheckoutIndex,
ReadTree,
AbortMerge,
AbortRebase,
AbortPick,
AbortAm,
}Expand description
What:
The forms the policy guards.
An enum is a closed set of named alternatives.
#[derive(...)] asks the compiler to generate copying,
debug printing and ==.
Why:
Each form has its own rejection text, because the same subcommand serves different intents:
restore --staged unstages while restore <path> reverts a file.
In TS you’d write (pseudocode):
type GuardedCommand = 'stash' | 'clean' | 'reset-hard' | 'reset-mixed' | 'restore-staged' | 'restore-worktree'
| 'checkout-paths' | 'checkout-move' | 'switch-force' | 'switch-move' | 'rm' | 'mv' | 'checkout-index'
| 'read-tree' | 'abort-merge' | 'abort-rebase' | 'abort-pick' | 'abort-am';Variants§
Stash
Every git stash form that changes state.
Clean
A git clean that is not a dry run.
ResetHard
A git reset with --hard,
--merge or --keep.
ResetMixed
A git reset in the default or --mixed mode.
RestoreStaged
A git restore that names the index and not the worktree.
RestoreWorktree
A git restore that writes worktree files.
CheckoutPaths
A git checkout with paths, --force, --patch, --ours or --theirs.
CheckoutMove
A git checkout that moves HEAD.
SwitchForce
A git switch with --force or --discard-changes.
SwitchMove
A git switch that moves HEAD.
Remove
A git rm with --force.
Move
A git mv with --force.
CheckoutIndex
A git checkout-index with --force.
ReadTree
A git read-tree with --reset.
AbortMerge
git merge --abort.
AbortRebase
git rebase --abort.
AbortPick
git cherry-pick --abort or git revert --abort.
AbortAm
git am --abort.
Trait Implementations§
Source§impl Clone for GuardedCommand
impl Clone for GuardedCommand
impl Copy for GuardedCommand
Source§impl Debug for GuardedCommand
impl Debug for GuardedCommand
impl Eq for GuardedCommand
Source§impl PartialEq for GuardedCommand
impl PartialEq for GuardedCommand
impl StructuralPartialEq for GuardedCommand
Auto Trait Implementations§
impl Freeze for GuardedCommand
impl RefUnwindSafe for GuardedCommand
impl Send for GuardedCommand
impl Sync for GuardedCommand
impl Unpin for GuardedCommand
impl UnsafeUnpin for GuardedCommand
impl UnwindSafe for GuardedCommand
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> 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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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