pub trait GitTransport: Send + Sync {
// Required methods
fn fetch_branch(
&self,
repo_path: &Path,
remote: &str,
branch: &str,
) -> Result<()>;
fn push_refspec(
&self,
repo_path: &Path,
remote: &str,
refspec: &str,
) -> Result<()>;
fn push_branch_upstream(
&self,
repo_path: &Path,
remote: &str,
branch: &str,
) -> Result<()>;
fn commit(
&self,
repo_path: &Path,
message: &str,
skip_hooks: bool,
) -> Result<CommitOutcome>;
}