aboutsummaryrefslogtreecommitdiffstats
path: root/pkgs/by-name/ba
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-03-09 00:12:01 +0100
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-03-09 13:44:47 +0100
commit0b9b4ce453664cadedc52f46934d4ffc9dde7fe4 (patch)
tree364d7dc8cb9ed4d161b1c88436373c975f861f5b /pkgs/by-name/ba
parentpkgs/back: Do not store repositories in config (diff)
downloadnixos-server-0b9b4ce453664cadedc52f46934d4ffc9dde7fe4.zip
pkgs/back/config: Also try to open a repo if a directory with `.git` exists
Diffstat (limited to 'pkgs/by-name/ba')
-rw-r--r--pkgs/by-name/ba/back/src/config/mod.rs14
1 files changed, 10 insertions, 4 deletions
diff --git a/pkgs/by-name/ba/back/src/config/mod.rs b/pkgs/by-name/ba/back/src/config/mod.rs
index 789c0b0..832d060 100644
--- a/pkgs/by-name/ba/back/src/config/mod.rs
+++ b/pkgs/by-name/ba/back/src/config/mod.rs
@@ -79,11 +79,17 @@ pub struct BackRepository {
impl BackRepository {
pub fn open(&self, scan_path: &Path) -> Result<ThreadSafeRepository, error::Error> {
- let repo = ThreadSafeRepository::open(scan_path.join(&self.repo_path)).map_err(|err| {
- Error::RepoOpen {
- repository_path: self.repo_path.to_owned(),
- error: Box::new(err),
+ let path = {
+ let base = scan_path.join(&self.repo_path);
+ if base.is_dir() {
+ base
+ } else {
+ PathBuf::from(base.display().to_string() + ".git")
}
+ };
+ let repo = ThreadSafeRepository::open(path).map_err(|err| Error::RepoOpen {
+ repository_path: self.repo_path.to_owned(),
+ error: Box::new(err),
})?;
if is_git_bug(&repo.to_thread_local())? {
Ok(repo)