//! conflict Operation trait for the conflict module (three-way merge checks based on gix). use crate::conflict::types::{ConflictDetail, MergeStatus}; /// Operation trait for the conflict module. pub trait ConflictOps { /// Check whether a merge is feasible. fn conflict_check(&self, base: &str, head: &str) -> Result; /// List of conflicted files. fn conflict_conflicted_files( &self, base: &str, head: &str, ) -> Result, crate::Error>; /// Single-file conflict details. fn conflict_detail( &self, base: &str, head: &str, path: &str, ) -> Result; /// Three-way conflict check using an explicit merge-base ancestor. fn conflict_check_threeway( &self, ours: &str, theirs: &str, ancestor: &str, ) -> Result; }