diff options
Diffstat (limited to '')
| -rw-r--r-- | src/repo/mod.rs (renamed from src/local/mod.rs) | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/src/local/mod.rs b/src/repo/mod.rs index ec8985b..e3d1279 100644 --- a/src/local/mod.rs +++ b/src/repo/mod.rs @@ -1,24 +1,17 @@ -use std::{ - fmt::Debug, - path::{Path, PathBuf}, -}; +use std::{fmt::Debug, path::PathBuf}; use thiserror::Error; -use git2::{AnnotatedCommit, Branch, BranchType, Remote, Repository}; +use git2::{Branch, Remote, Repository}; use tracing::{debug, trace}; use crate::forge::Project; mod aggregate; mod repostate; -mod sync; -mod update; pub use aggregate::*; pub use repostate::*; -pub use sync::*; -pub use update::*; pub type Repos = Vec<Repo>; @@ -61,14 +54,12 @@ impl Repo { pub fn main_remote<'a>(&self, repo: &'a Repository) -> Result<git2::Remote<'a>, RepoError> { let remotes = repo.remotes()?; - let remote = if let Some(_) = remotes.iter().find(|x| *x == Some("origin")) { + let remote = if remotes.iter().any(|x| x == Some("origin")) { "origin" + } else if let Some(remote) = remotes.get(0) { + remote } else { - if let Some(remote) = remotes.get(0) { - remote - } else { - return Err(RepoError::NoRemoteFound); - } + return Err(RepoError::NoRemoteFound); }; return Ok(repo.find_remote(remote)?); @@ -92,7 +83,9 @@ impl Repo { let mut builder = git2::build::RepoBuilder::new(); builder.fetch_options(crate::git::fetch_options()); - builder.clone(url, &self.path).map_err(|err| RepoError::GitError(err)) + builder + .clone(url, &self.path) + .map_err(RepoError::GitError) } #[tracing::instrument(level = "trace")] @@ -118,8 +111,8 @@ impl Repo { local: &mut Branch, upstream: &Branch, ) -> Result<bool, RepoError> { - let local_name = Repo::branch_name(&local); - let upstream_name = Repo::branch_name(&upstream); + let local_name = Repo::branch_name(local); + let upstream_name = Repo::branch_name(upstream); let local_ref = local.get_mut(); let upstream_ref = upstream.get(); |
