pub enum RebaseEvent {
Started {
phase: RebasePhase,
target_branch: String,
},
ConflictDetected {
files: Vec<PathBuf>,
},
ConflictResolved {
files: Vec<PathBuf>,
},
Succeeded {
phase: RebasePhase,
new_head: String,
},
Failed {
phase: RebasePhase,
reason: String,
},
Aborted {
phase: RebasePhase,
restored_to: String,
},
Skipped {
phase: RebasePhase,
reason: String,
},
}Expand description
Rebase operation events.
Events related to git rebase operations including conflict detection and resolution. Rebase operations can occur at multiple points in the pipeline (initial and post-review).
§State Machine
NotStarted -> InProgress -> Conflicted -> InProgress -> Completed
| |
+---------> Skipped <-------+
|
+---------> Failed (resets to NotStarted)§Emitted By
- Rebase handlers in
handler/rebase.rs - Git integration layer
Variants§
Started
Rebase operation started.
Emitted when a rebase begins. The reducer uses this to:
- Track which rebase phase is active (initial or post-review)
- Record the target branch for observability
Fields
phase: RebasePhaseThe rebase phase (initial or post-review).
ConflictDetected
Merge conflict detected during rebase.
Emitted when git detects merge conflicts. The handler will attempt automated resolution; the reducer tracks which files are conflicted.
ConflictResolved
Merge conflicts were resolved.
Emitted after successful conflict resolution. The reducer uses this to clear the conflict state and allow rebase to continue.
Succeeded
Rebase completed successfully.
Emitted when rebase finishes without errors. The reducer uses this to:
- Mark rebase as complete
- Record the new HEAD commit
- Transition to the next pipeline phase
Fields
phase: RebasePhaseThe rebase phase that completed.
Failed
Rebase failed and was reset.
Emitted when rebase encounters an unrecoverable error. The reducer uses this to decide whether to retry or abort the pipeline.
Aborted
Rebase was aborted and state restored.
Emitted when rebase is explicitly aborted (e.g., user interrupt). The reducer marks rebase as not attempted.
Fields
phase: RebasePhaseThe rebase phase that was aborted.
Skipped
Rebase was skipped (e.g., already up to date).
Emitted when rebase is unnecessary. The reducer marks rebase as complete without actually performing the operation.
Trait Implementations§
Source§impl Clone for RebaseEvent
impl Clone for RebaseEvent
Source§fn clone(&self) -> RebaseEvent
fn clone(&self) -> RebaseEvent
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RebaseEvent
impl Debug for RebaseEvent
Source§impl<'de> Deserialize<'de> for RebaseEvent
impl<'de> Deserialize<'de> for RebaseEvent
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for RebaseEvent
impl RefUnwindSafe for RebaseEvent
impl Send for RebaseEvent
impl Sync for RebaseEvent
impl Unpin for RebaseEvent
impl UnwindSafe for RebaseEvent
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<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