diff options
author | Gabriel A. Giovanini <mail@gabrielgio.me> | 2025-03-25 21:20:13 +0100 |
---|---|---|
committer | Gabriel A. Giovanini <mail@gabrielgio.me> | 2025-03-25 21:20:13 +0100 |
commit | 6006194c072dba9f65aa08c6e3be06ea8ead8910 (patch) | |
tree | e647fd2063efce999ac97761f05aaf38fee135dd /pkg/service | |
parent | c1247a52e92523be8d225d20dc9592f32dca5088 (diff) | |
download | cerrado-6006194c072dba9f65aa08c6e3be06ea8ead8910.tar.gz cerrado-6006194c072dba9f65aa08c6e3be06ea8ead8910.tar.bz2 cerrado-6006194c072dba9f65aa08c6e3be06ea8ead8910.zip |
feat: Add ref page
Now there is page more tailored to a single ref.
Diffstat (limited to 'pkg/service')
-rw-r--r-- | pkg/service/git.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/pkg/service/git.go b/pkg/service/git.go index 8642b5b..5410d7a 100644 --- a/pkg/service/git.go +++ b/pkg/service/git.go @@ -241,6 +241,25 @@ func (g *GitService) GetAbout(name string) ([]byte, error) { return file, nil } +func (g *GitService) GetTag(ref, name string) (*object.Commit, *git.TagReference, error) { + r := g.configRepo.GetByName(name) + if r == nil { + return nil, nil, ErrRepositoryNotFound + } + + repo, err := git.OpenRepository(r.Path) + if err != nil { + return nil, nil, err + } + + err = repo.SetRef(ref) + if err != nil { + return nil, nil, err + } + + return repo.Tag() +} + func (g *GitService) ListTags(name string) ([]*git.TagReference, error) { r := g.configRepo.GetByName(name) if r == nil { |