pub struct PushForward {
pub real_git: PathBuf,
pub arguments: Vec<OsString>,
pub overlay: Vec<(OsString, OsString)>,
pub copy: Option<Box<CopyFacts>>,
pub subcommand_index: usize,
pub environment: Vec<(OsString, OsString)>,
}Expand description
What: What a plain push that may be integrated needs to run and, when it fails on a divergence, to merge. Why: The run keeps the caller’s streams like the settled one does, so the integration step starts from Git’s status and the same arguments, environment and (inside a linked worktree) settlement as an unstacked push would have had.
In TS you’d write (pseudocode):
type PushForward = { realGit: string; args: string[]; overlay: [string, string][]; copy?: CopyFacts; subcommandIndex: number; environment: [string, string][] };Fields§
§real_git: PathBufThe selected real Git executable.
arguments: Vec<OsString>The arguments Git receives, global options included.
overlay: Vec<(OsString, OsString)>Variables added to the inherited environment.
copy: Option<Box<CopyFacts>>The linked-worktree settlement the run keeps when one applies.
subcommand_index: usizeIndex of push in arguments.
environment: Vec<(OsString, OsString)>The invocation’s environment, which the integration step starts Git with.
Trait Implementations§
Source§impl Clone for PushForward
impl Clone for PushForward
Source§impl Debug for PushForward
impl Debug for PushForward
impl Eq for PushForward
Source§impl PartialEq for PushForward
impl PartialEq for PushForward
impl StructuralPartialEq for PushForward
Auto Trait Implementations§
impl Freeze for PushForward
impl RefUnwindSafe for PushForward
impl Send for PushForward
impl Sync for PushForward
impl Unpin for PushForward
impl UnsafeUnpin for PushForward
impl UnwindSafe for PushForward
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