From 37bdbd9a21617be17a07e89f165492734f9dfa7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luka=20Marku=C5=A1i=C4=87?= Date: Sun, 31 Jul 2022 08:44:42 +0200 Subject: [PATCH] Display short SHA when in `detached HEAD` state --- pkg/gui/recent_repos_panel.go | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/pkg/gui/recent_repos_panel.go b/pkg/gui/recent_repos_panel.go index fc2c38262..3ccf77bcd 100644 --- a/pkg/gui/recent_repos_panel.go +++ b/pkg/gui/recent_repos_panel.go @@ -14,6 +14,7 @@ import ( "github.com/jesseduffield/lazygit/pkg/gui/presentation/icons" "github.com/jesseduffield/lazygit/pkg/gui/style" "github.com/jesseduffield/lazygit/pkg/gui/types" + "github.com/jesseduffield/lazygit/pkg/utils" ) func (gui *Gui) getCurrentBranch(path string) string { @@ -21,8 +22,16 @@ func (gui *Gui) getCurrentBranch(path string) string { headFile, err := ioutil.ReadFile(filepath.Join(path, "HEAD")) if err == nil { content := strings.TrimSpace(string(headFile)) - branch := strings.TrimPrefix(content, "ref: refs/heads/") - return branch, nil + refsPrefix := "ref: refs/heads/" + branchDisplay := "" + if strings.HasPrefix(content, refsPrefix) { + // is a branch + branchDisplay = strings.TrimPrefix(content, refsPrefix) + } else { + // detached HEAD state, displaying short SHA + branchDisplay = utils.ShortSha(content) + } + return branchDisplay, nil } return "", err } @@ -47,7 +56,7 @@ func (gui *Gui) getCurrentBranch(path string) string { } } - return "HEAD" + return "unknown branch" } func (gui *Gui) handleCreateRecentReposMenu() error {