pub const PORCELAIN_VERSION: &str = "v1";
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum ColumnChange {
Added,
Modified,
Deleted,
Renamed,
Copied,
TypeChanged,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum ChangeStatus {
Tracked {
index: Option<ColumnChange>,
worktree: Option<ColumnChange>,
},
Conflicted,
Untracked,
Ignored,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct WorktreeChange {
pub path: String,
pub status: ChangeStatus,
pub old_path: Option<String>,
}
#[derive(Debug, Clone, Copy)]
pub struct PorcelainOptions {
pub include_ignored: bool,
pub include_untracked: bool,
}
impl Default for PorcelainOptions {
fn default() -> Self {
Self {
include_ignored: false,
include_untracked: true,
}
}
}