aboutsummaryrefslogtreecommitdiff
path: root/src/repo
diff options
context:
space:
mode:
authorMax Audron <audron@cocaine.farm>2022-06-07 12:28:18 +0200
committerMaximilian Manz <maximilian.manz@de.clara.net>2022-06-20 11:33:04 +0200
commite9dc01ffb547d0fa605bfe38b34672ddd5161be4 (patch)
tree5ca50547512b7cc2256ef457d468c4252ae23a0b /src/repo
parentimplement 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