diff --git a/pkg/ext/router.go b/pkg/ext/router.go
index 956254d06334a443ea3e66b37bded75847120230..e12a40c781d81e4d59fe9dfe2d9b985888e91f8a 100644
--- a/pkg/ext/router.go
+++ b/pkg/ext/router.go
@@ -3,6 +3,7 @@
import (
"errors"
"fmt"
+ "log/slog"
"net/http"
"git.gabrielgio.me/cerrado/pkg/service"
@@ -38,6 +39,7 @@ if err := next(w, r); err != nil {
if errors.Is(err, service.ErrRepositoryNotFound) {
NotFound(w, r)
} else {
+ slog.Error("Internal Server Error", "error", err)
InternalServerError(r, w, err)
}
}
diff --git a/pkg/service/git.go b/pkg/service/git.go
index afe61039f3e8e8c87a8b628e03015b167e285dd4..12d238e9dc388f2b25e7dc4fb417c3c4d7579de8 100644
--- a/pkg/service/git.go
+++ b/pkg/service/git.go
@@ -8,6 +8,7 @@ "log/slog"
"git.gabrielgio.me/cerrado/pkg/config"
"git.gabrielgio.me/cerrado/pkg/git"
+ gogit "github.com/go-git/go-git/v5"
"github.com/go-git/go-git/v5/plumbing"
"github.com/go-git/go-git/v5/plumbing/object"
)
@@ -49,6 +50,10 @@ repos := make([]*Repository, 0, len(rs))
for _, r := range rs {
repo, err := git.OpenRepository(r.Path)
if err != nil {
+ if errors.Is(err, gogit.ErrRepositoryNotExists) {
+ slog.Info("Path does not contain a repository", "path", r.Path)
+ continue
+ }
return nil, err
}