aboutsummaryrefslogtreecommitdiff
path: root/pkg/service
diff options
context:
space:
mode:
authorGabriel A. Giovanini <mail@gabrielgio.me>2025-03-25 21:20:13 +0100
committerGabriel A. Giovanini <mail@gabrielgio.me>2025-03-25 21:20:13 +0100
commit6006194c072dba9f65aa08c6e3be06ea8ead8910 (patch)
treee647fd2063efce999ac97761f05aaf38fee135dd /pkg/service
parentc1247a52e92523be8d225d20dc9592f32dca5088 (diff)
downloadcerrado-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.go19
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 {