1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-08-06 22:33:07 +02:00

Use a different way to check if a tag is annotated

Storing it in the Tag struct makes loading tags a lot slower when there is a
very large number of tags; so determine it on the fly instead. On my machine,
the additional call takes under 5ms, so it seems we can afford it.
This commit is contained in:
Stefan Haller
2025-07-27 17:57:28 +02:00
parent 44159ff926
commit 151e80902e
2 changed files with 18 additions and 1 deletions

View File

@ -1,6 +1,8 @@
package git_commands
import (
"strings"
"github.com/jesseduffield/gocui"
"github.com/jesseduffield/lazygit/pkg/commands/oscommands"
)
@ -74,3 +76,13 @@ func (self *TagCommands) ShowAnnotationInfo(tagName string) (string, error) {
return self.cmd.New(cmdArgs).RunWithOutput()
}
func (self *TagCommands) IsTagAnnotated(tagName string) (bool, error) {
cmdArgs := NewGitCmd("cat-file").
Arg("-t").
Arg("refs/tags/" + tagName).
ToArgv()
output, err := self.cmd.New(cmdArgs).RunWithOutput()
return strings.TrimSpace(output) == "tag", err
}