#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)] pub enum RemoteOption { #[default] Default, MirrorPush, MirrorFetch, } impl RemoteOption { pub fn as_arg(self) -> crate::share::RemoteMirror { match self { Self::Default => crate::share::RemoteMirror::Default, Self::MirrorPush => crate::share::RemoteMirror::Push, Self::MirrorFetch => crate::share::RemoteMirror::Fetch, } } } #[derive(Debug, Clone)] pub struct UpdateRemoteMirrorRequest { pub url: String, pub refs: Vec, pub only_branches_matching: Vec, pub keep_divergent_refs: bool, } #[derive(Debug, Clone, Default)] pub struct UpdateRemoteMirrorResult { pub divergent_refs: Vec, } #[derive(Debug, Clone, Default)] pub struct FetchRemoteCommitResult { pub fetched: bool, }