From 6ee37d3ff08ef62aaaebfefb89c8ca28f071232e Mon Sep 17 00:00:00 2001 From: botastic Date: Fri, 10 Apr 2026 16:30:54 +0200 Subject: [PATCH] fix: go-git ref resolve within worktree --- internal/util/git/utils.go | 4 +++- pkg/prompt/prompt.go | 8 +++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/internal/util/git/utils.go b/internal/util/git/utils.go index e5541dd..f61beca 100644 --- a/internal/util/git/utils.go +++ b/internal/util/git/utils.go @@ -6,7 +6,9 @@ import ( ) func OriginURL() (string, error) { - r, err := git.PlainOpen(".") + r, err := git.PlainOpenWithOptions(".", &git.PlainOpenOptions{ + EnableDotGitCommonDir: true, + }) if err != nil { return "", err } diff --git a/pkg/prompt/prompt.go b/pkg/prompt/prompt.go index 138ec7b..da0f197 100644 --- a/pkg/prompt/prompt.go +++ b/pkg/prompt/prompt.go @@ -206,7 +206,9 @@ func (s *Prompt) Run() error { prompt.OptionPrefix(s.prefix), prompt.OptionLivePrefix(func() (string, bool) { if s.prefixGit { - r, err := git.PlainOpen(env.ProjectRoot()) + r, err := git.PlainOpenWithOptions(env.ProjectRoot(), &git.PlainOpenOptions{ + EnableDotGitCommonDir: true, + }) if err != nil { s.l.Debug("failed to open git repository", "error", err) } @@ -216,6 +218,10 @@ func (s *Prompt) Run() error { s.l.Debug("failed to fetch HEAD", "error", err) } + if ref == nil { + return s.prefix, false + } + name := ref.Name().Short() if t, err := r.Tags(); err == nil {