use serde::{Deserialize, Serialize};
use std::path::PathBuf;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub enum RebasePhase {
Initial,
PostReview,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub enum ConflictStrategy {
Abort,
Continue,
Skip,
}
#[derive(Clone, Serialize, Deserialize, Debug)]
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,
},
}