From e74e976b4d84161673e2c2f9765c826b855a89bb Mon Sep 17 00:00:00 2001 From: musabe24 Date: Tue, 18 Nov 2025 21:08:33 +0100 Subject: [PATCH] =?UTF-8?q?M=C3=B6glichkeit=20zum=20Entfernen=20von=20Repo?= =?UTF-8?q?s=20hinzugef=C3=BCgt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/ginie/main.go | 16 ++++++++++++++++ internal/repos/repos.go | 23 +++++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/cmd/ginie/main.go b/cmd/ginie/main.go index dc4108c..05544f1 100644 --- a/cmd/ginie/main.go +++ b/cmd/ginie/main.go @@ -41,6 +41,22 @@ func main() { fmt.Println("Repo hinzugefügt:", url) return + case "remove": + if len(os.Args) < 3 { + fmt.Println("Usage: ginie remove ") + return + } + url := os.Args[2] + + err := repos.RemoveRepo(url) + if err != nil { + fmt.Println("Fehler:", err) + return + } + + fmt.Println("Repo entfernt:", url) + return + case "list": reposList, err := repos.ListRepos() if err != nil { diff --git a/internal/repos/repos.go b/internal/repos/repos.go index 60b00e5..d9069ec 100644 --- a/internal/repos/repos.go +++ b/internal/repos/repos.go @@ -103,6 +103,29 @@ func AddRepo(url string) error { return SaveRepos(repos) } +func RemoveRepo(url string) error { + repos, err := LoadRepos() + if err != nil { + return err + } + + index := -1 + for i, r := range repos { + if r.URL == url { + index = i + break + } + } + + if index == -1 { + return errors.New("Repo nicht gefunden") + } + + repos = append(repos[:index], repos[index+1:]...) + + return SaveRepos(repos) +} + func ListRepos() ([]Repo, error) { return LoadRepos() }