diff options
| author | Max Audron <audron@cocaine.farm> | 2022-06-07 12:28:18 +0200 |
|---|---|---|
| committer | Maximilian Manz <maximilian.manz@de.clara.net> | 2022-06-20 11:33:04 +0200 |
| commit | e9dc01ffb547d0fa605bfe38b34672ddd5161be4 (patch) | |
| tree | 5ca50547512b7cc2256ef457d468c4252ae23a0b /src/repo | |
| parent | implement cloning of new repos (diff) | |
reorganize file structure and cleanup lints
Diffstat (limited to '')
| -rw-r--r-- | src/repo/aggregate.rs (renamed from src/local/aggregate.rs) | 8 | ||||
| -rw-r--r-- | src/repo/mod.rs (renamed from src/local/mod.rs) | 29 | ||||
| -rw-r--r-- | src/repo/repostate.rs (renamed from src/local/repostate.rs) | 0 |
3 files changed, 14 insertions, 23 deletions
diff --git a/src/local/aggregate.rs b/src/repo/aggregate.rs index 21a1dad..cb4b00d 100644 --- a/src/local/aggregate.rs +++ b/src/repo/aggregate.rs @@ -1,8 +1,6 @@ -use std::path::PathBuf; - use git2::Repository; -use tracing::{debug, error}; +use tracing::error; use walkdir::WalkDir; use crate::forge::Project; @@ -40,7 +38,7 @@ impl Aggregator for Repos { if entry.file_type().is_dir() { let mut dir = std::fs::read_dir(entry.path()).unwrap(); - if let Some(_) = dir.find(|dir| { + if dir.any(|dir| { if let Ok(dir) = dir { dir.file_name() == ".git" } else { @@ -80,7 +78,7 @@ impl Aggregator for Repos { .map(|project| { let mut repo: Repo = project.into(); repo.path = [root, &repo.name].iter().collect(); - return repo; + repo }) .collect() } 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(); diff --git a/src/local/repostate.rs b/src/repo/repostate.rs index ea3c5a6..ea3c5a6 100644 --- a/src/local/repostate.rs +++ b/src/repo/repostate.rs |
