pub enum BranchWorktreeDecision {
Pass,
Creates(BranchCreationCommand),
NeedsRemoteGuess {
command: BranchCreationCommand,
target: OsString,
},
}Expand description
What:
The outcome of looking at the argument list only.
An enum is a closed set of
named alternatives;
NeedsRemoteGuess carries the name Git may guess.
#[derive(...)] asks the compiler to generate cloning,
debug printing and ==.
Why:
Explicit creation is decided here;
the guess depends on which branches exist.
In TS you’d write (pseudocode):
type BranchWorktreeDecision = { kind: 'pass' } | { kind: 'creates'; command } | { kind: 'needs-remote-guess'; command; target: string };Variants§
Pass
Not a guarded command, a form that creates nothing, or a region Git refuses.
Creates(BranchCreationCommand)
The command creates a branch explicitly.
NeedsRemoteGuess
git switch <target> or git checkout <target>:
creation depends on the
repository’s branches;
the caller asks and then calls resolve_remote_guess.
Fields
§
command: BranchCreationCommandThe command being run.
Trait Implementations§
Source§impl Clone for BranchWorktreeDecision
impl Clone for BranchWorktreeDecision
Source§impl Debug for BranchWorktreeDecision
impl Debug for BranchWorktreeDecision
impl Eq for BranchWorktreeDecision
Source§impl PartialEq for BranchWorktreeDecision
impl PartialEq for BranchWorktreeDecision
impl StructuralPartialEq for BranchWorktreeDecision
Auto Trait Implementations§
impl Freeze for BranchWorktreeDecision
impl RefUnwindSafe for BranchWorktreeDecision
impl Send for BranchWorktreeDecision
impl Sync for BranchWorktreeDecision
impl Unpin for BranchWorktreeDecision
impl UnsafeUnpin for BranchWorktreeDecision
impl UnwindSafe for BranchWorktreeDecision
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
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> ⓘ
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