From 5a534ee4d3e88731558f7d9bc7ae75bd0b0b2e95 Mon Sep 17 00:00:00 2001 From: Divy13ansh Date: Thu, 2 Oct 2025 14:07:07 +0000 Subject: [PATCH] feat: restrict gitx execution to git repositories --- cmd/gitx/main.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/cmd/gitx/main.go b/cmd/gitx/main.go index 8f1583f..17723bb 100644 --- a/cmd/gitx/main.go +++ b/cmd/gitx/main.go @@ -4,6 +4,8 @@ import ( "errors" "fmt" "log" + "os" + "os/exec" tea "github.com/charmbracelet/bubbletea" "github.com/gitxtui/gitx/internal/tui" @@ -11,6 +13,11 @@ import ( ) func main() { + if err := ensureGitRepo(); err != nil { + fmt.Fprintln(os.Stderr, err) // print to stderr + os.Exit(1) + } + zone.NewGlobal() defer zone.Close() @@ -22,3 +29,11 @@ func main() { } fmt.Println("Bye from gitx! :)") } + +func ensureGitRepo() error { + cmd := exec.Command("git", "rev-parse", "--is-inside-work-tree") + if err := cmd.Run(); err != nil { + return fmt.Errorf("Error: not a git repository") + } + return nil +}