e034b46
use crate::remote::types::{FetchResult, ImportResult, MirrorType, PushResult, RemoteConfig};
pub trait RemoteOps {
fn remote_clone_import(
&self,
src: &str,
config: &RemoteConfig,
) -> Result<ImportResult, crate::Error>;
fn remote_fetch(&self, config: &RemoteConfig) -> Result<FetchResult, crate::Error>;
fn remote_push(
&self,
config: &RemoteConfig,
refspec: Option<&str>,
) -> Result<PushResult, crate::Error>;
fn remote_set_mirror(
&self,
mirror_type: MirrorType,
config: &RemoteConfig,
) -> Result<(), crate::Error>;
fn remote_remove_remote(&self, name: &str) -> Result<(), crate::Error>;
}