pub struct Invocation {
pub identity: WorktreeIdentity,
pub effective_cwd: PathBuf,
pub creates_or_moves: bool,
pub opted_out: bool,
pub short_circuit: bool,
pub inherited_token: Option<String>,
pub main_checkout_paths: Vec<String>,
pub context: GitContext,
}Expand description
What: Everything the lifecycle needs to decide how one invocation is settled. Why: The decisions that depend on argv and global options are made by their owners and passed in as facts.
In TS you’d write (pseudocode):
runGitWithWorktreeCopy({ args, gitPath, identity, command, environment })Fields§
§identity: WorktreeIdentityThe effective repository identity captured before real Git.
effective_cwd: PathBufThe working directory the repository queries run in.
creates_or_moves: boolWhether the command creates or moves worktrees after alias resolution.
opted_out: boolWhether --no-worktree-copy appeared in flag position.
short_circuit: boolWhether real Git only prints help or its version.
inherited_token: Option<String>The lease token inherited from an outer settlement, when the environment carried one.
main_checkout_paths: Vec<String>Repository paths a main-checkout source hands over (the configured rules file); empty keeps the main checkout a bypass, and linked and bare sources ignore it.
context: GitContextThe real Git executable and the variables every Git child receives.
Trait Implementations§
Source§impl Clone for Invocation
impl Clone for Invocation
Source§impl Debug for Invocation
impl Debug for Invocation
impl Eq for Invocation
Source§impl PartialEq for Invocation
impl PartialEq for Invocation
impl StructuralPartialEq for Invocation
Auto Trait Implementations§
impl Freeze for Invocation
impl RefUnwindSafe for Invocation
impl Send for Invocation
impl Sync for Invocation
impl Unpin for Invocation
impl UnsafeUnpin for Invocation
impl UnwindSafe for Invocation
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