pub enum CommitOnlyDecision {
Unchanged,
Rewritten(Vec<OsString>),
Rejected(CommitOnlyViolation),
NeedsSequencerState,
NeedsIndexState(PendingInjection),
}Expand description
What: The transform’s answer, or the repository fact it needs first. Why: The facts are fetched lazily: most commands are decided from arguments alone.
In TS you’d write (pseudocode):
type CommitOnlyDecision = { kind: 'unchanged' } | { kind: 'rewritten'; args: string[] }
| { kind: 'rejected'; violation } | { kind: 'needs-sequencer-state' } | { kind: 'needs-index-state'; pending };Variants§
Unchanged
Forward the caller’s arguments as they are.
Rewritten(Vec<OsString>)
Forward this list:
-o inserted,
or the escape hatch removed.
Rejected(CommitOnlyViolation)
Block the command with this finding.
NeedsSequencerState
Ask whether a merge,
cherry-pick or revert awaits its commit,
then call
resolve_sequencer_state.
NeedsIndexState(PendingInjection)
Ask whether the index differs from HEAD,
then call resolve_index_state.
Trait Implementations§
Source§impl Clone for CommitOnlyDecision
impl Clone for CommitOnlyDecision
Source§impl Debug for CommitOnlyDecision
impl Debug for CommitOnlyDecision
impl Eq for CommitOnlyDecision
Source§impl PartialEq for CommitOnlyDecision
impl PartialEq for CommitOnlyDecision
impl StructuralPartialEq for CommitOnlyDecision
Auto Trait Implementations§
impl Freeze for CommitOnlyDecision
impl RefUnwindSafe for CommitOnlyDecision
impl Send for CommitOnlyDecision
impl Sync for CommitOnlyDecision
impl Unpin for CommitOnlyDecision
impl UnsafeUnpin for CommitOnlyDecision
impl UnwindSafe for CommitOnlyDecision
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