From d2c4023832e26d3fe3f77c9fa8581588ea812cc2 Mon Sep 17 00:00:00 2001 From: "Gabriel A. Giovanini" Date: Sat, 15 Jun 2024 18:15:22 +0200 Subject: fix: Add support lightweight tags For now all tags are read as reference. That cause tags to not carry its message body by default but it will be added in the future. For now simple tags will do. --- pkg/git/git.go | 8 +- pkg/handler/git/handler.go | 2 +- pkg/service/git.go | 2 +- scss/main.scss | 10 ++- templates/gititemrefs.qtpl | 23 +++--- templates/gititemrefs.qtpl.go | 165 ++++++++++++++++++++++++------------------ 6 files changed, 120 insertions(+), 90 deletions(-) diff --git a/pkg/git/git.go b/pkg/git/git.go index ad5d3bc..428bfb1 100644 --- a/pkg/git/git.go +++ b/pkg/git/git.go @@ -107,14 +107,14 @@ func (g *GitRepository) Head() (*plumbing.Reference, error) { return g.repository.Head() } -func (g *GitRepository) Tags() ([]*object.Tag, error) { - ti, err := g.repository.TagObjects() +func (g *GitRepository) Tags() ([]*plumbing.Reference, error) { + ti, err := g.repository.Tags() if err != nil { return nil, err } - tags := []*object.Tag{} - err = ti.ForEach(func(t *object.Tag) error { + tags := []*plumbing.Reference{} + err = ti.ForEach(func(t *plumbing.Reference) error { tags = append(tags, t) return nil }) diff --git a/pkg/handler/git/handler.go b/pkg/handler/git/handler.go index b4c7c54..4809362 100644 --- a/pkg/handler/git/handler.go +++ b/pkg/handler/git/handler.go @@ -33,7 +33,7 @@ type ( GetHead(name string) (*plumbing.Reference, error) GetTree(name, ref, path string) (*object.Tree, error) GetFileContent(name, ref, path string) (string, error) - ListTags(name string) ([]*object.Tag, error) + ListTags(name string) ([]*plumbing.Reference, error) ListBranches(name string) ([]*plumbing.Reference, error) } diff --git a/pkg/service/git.go b/pkg/service/git.go index 0907924..071e10d 100644 --- a/pkg/service/git.go +++ b/pkg/service/git.go @@ -128,7 +128,7 @@ func (g *GitService) GetFileContent(name, ref, path string) (string, error) { return repo.FileContent(path) } -func (g *GitService) ListTags(name string) ([]*object.Tag, error) { +func (g *GitService) ListTags(name string) ([]*plumbing.Reference, error) { r := g.configRepo.GetByName(name) if r == nil { return nil, RepositoryNotFoundErr diff --git a/scss/main.scss b/scss/main.scss index 5500a38..af8a002 100644 --- a/scss/main.scss +++ b/scss/main.scss @@ -58,8 +58,14 @@ $utilities: ( start: left, end: right, center: center, - ) -), + ) + ), + "margin-end": ( + responsive: true, + property: margin-right, + class: me, + values: map-merge($spacers, (auto: auto)) + ), ); @import "bootstrap/scss/utilities/_api.scss"; diff --git a/templates/gititemrefs.qtpl b/templates/gititemrefs.qtpl index 47a69e3..09d7446 100644 --- a/templates/gititemrefs.qtpl +++ b/templates/gititemrefs.qtpl @@ -1,9 +1,8 @@ {% import "github.com/go-git/go-git/v5/plumbing" %} -{% import "github.com/go-git/go-git/v5/plumbing/object" %} {% code type GitItemRefsPage struct { - Tags []*object.Tag + Tags []*plumbing.Reference Branches []*plumbing.Reference } %} @@ -13,21 +12,25 @@ type GitItemRefsPage struct { {% func (g *GitItemRefsPage) GitContent(name, ref string) %}
+ {% if len(g.Tags) > 0 %}
{% for _, t := range g.Tags %} -
-
- {%s TimeFormat(t.Tagger.When) %} -
-
-
{%s t.Message %}
+
+
+ {%s t.Name().Short() %}
-
- {%s t.Tagger.Name %} +
+
+ tree + log +
{% endfor %}
+ {% else %} +

No tags

+ {% endif %}
diff --git a/templates/gititemrefs.qtpl.go b/templates/gititemrefs.qtpl.go index 95dd31a..62c1725 100644 --- a/templates/gititemrefs.qtpl.go +++ b/templates/gititemrefs.qtpl.go @@ -7,175 +7,196 @@ package templates //line gititemrefs.qtpl:1 import "github.com/go-git/go-git/v5/plumbing" -//line gititemrefs.qtpl:2 -import "github.com/go-git/go-git/v5/plumbing/object" - -//line gititemrefs.qtpl:4 +//line gititemrefs.qtpl:3 import ( qtio422016 "io" qt422016 "github.com/valyala/quicktemplate" ) -//line gititemrefs.qtpl:4 +//line gititemrefs.qtpl:3 var ( _ = qtio422016.Copy _ = qt422016.AcquireByteBuffer ) -//line gititemrefs.qtpl:5 +//line gititemrefs.qtpl:4 type GitItemRefsPage struct { - Tags []*object.Tag + Tags []*plumbing.Reference Branches []*plumbing.Reference } -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 func (g *GitItemRefsPage) StreamNav(qw422016 *qt422016.Writer, name, ref string) { -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 StreamGitItemNav(qw422016, name, ref, Refs) -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 } -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 func (g *GitItemRefsPage) WriteNav(qq422016 qtio422016.Writer, name, ref string) { -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 qw422016 := qt422016.AcquireWriter(qq422016) -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 g.StreamNav(qw422016, name, ref) -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 qt422016.ReleaseWriter(qw422016) -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 } -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 func (g *GitItemRefsPage) Nav(name, ref string) string { -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 qb422016 := qt422016.AcquireByteBuffer() -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 g.WriteNav(qb422016, name, ref) -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 qs422016 := string(qb422016.B) -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 qt422016.ReleaseByteBuffer(qb422016) -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 return qs422016 -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 } -//line gititemrefs.qtpl:13 +//line gititemrefs.qtpl:12 func (g *GitItemRefsPage) StreamGitContent(qw422016 *qt422016.Writer, name, ref string) { -//line gititemrefs.qtpl:13 +//line gititemrefs.qtpl:12 qw422016.N().S(`
+ `) +//line gititemrefs.qtpl:15 + if len(g.Tags) > 0 { +//line gititemrefs.qtpl:15 + qw422016.N().S(`
`) //line gititemrefs.qtpl:17 - for _, t := range g.Tags { + for _, t := range g.Tags { //line gititemrefs.qtpl:17 - qw422016.N().S(` -
-
+ qw422016.N().S(` +
+
`) //line gititemrefs.qtpl:20 - qw422016.E().S(TimeFormat(t.Tagger.When)) + qw422016.E().S(t.Name().Short()) //line gititemrefs.qtpl:20 - qw422016.N().S(` -
-
-
`)
-//line gititemrefs.qtpl:23
-		qw422016.E().S(t.Message)
-//line gititemrefs.qtpl:23
-		qw422016.N().S(`
+ qw422016.N().S(`
-
- `) -//line gititemrefs.qtpl:26 - qw422016.E().S(t.Tagger.Name) -//line gititemrefs.qtpl:26 - qw422016.N().S(` +
+
+ tree + log +
`) //line gititemrefs.qtpl:29 - } + } //line gititemrefs.qtpl:29 - qw422016.N().S(` + qw422016.N().S(`
+ `) +//line gititemrefs.qtpl:31 + } else { +//line gititemrefs.qtpl:31 + qw422016.N().S(` +

No tags

+ `) +//line gititemrefs.qtpl:33 + } +//line gititemrefs.qtpl:33 + qw422016.N().S(`
`) -//line gititemrefs.qtpl:34 +//line gititemrefs.qtpl:37 for _, b := range g.Branches { -//line gititemrefs.qtpl:34 +//line gititemrefs.qtpl:37 qw422016.N().S(`
`) -//line gititemrefs.qtpl:37 +//line gititemrefs.qtpl:40 qw422016.E().S(b.Name().Short()) -//line gititemrefs.qtpl:37 +//line gititemrefs.qtpl:40 qw422016.N().S(`
`) -//line gititemrefs.qtpl:46 +//line gititemrefs.qtpl:49 } -//line gititemrefs.qtpl:46 +//line gititemrefs.qtpl:49 qw422016.N().S(`
`) -//line gititemrefs.qtpl:50 +//line gititemrefs.qtpl:53 } -//line gititemrefs.qtpl:50 +//line gititemrefs.qtpl:53 func (g *GitItemRefsPage) WriteGitContent(qq422016 qtio422016.Writer, name, ref string) { -//line gititemrefs.qtpl:50 +//line gititemrefs.qtpl:53 qw422016 := qt422016.AcquireWriter(qq422016) -//line gititemrefs.qtpl:50 +//line gititemrefs.qtpl:53 g.StreamGitContent(qw422016, name, ref) -//line gititemrefs.qtpl:50 +//line gititemrefs.qtpl:53 qt422016.ReleaseWriter(qw422016) -//line gititemrefs.qtpl:50 +//line gititemrefs.qtpl:53 } -//line gititemrefs.qtpl:50 +//line gititemrefs.qtpl:53 func (g *GitItemRefsPage) GitContent(name, ref string) string { -//line gititemrefs.qtpl:50 +//line gititemrefs.qtpl:53 qb422016 := qt422016.AcquireByteBuffer() -//line gititemrefs.qtpl:50 +//line gititemrefs.qtpl:53 g.WriteGitContent(qb422016, name, ref) -//line gititemrefs.qtpl:50 +//line gititemrefs.qtpl:53 qs422016 := string(qb422016.B) -//line gititemrefs.qtpl:50 +//line gititemrefs.qtpl:53 qt422016.ReleaseByteBuffer(qb422016) -//line gititemrefs.qtpl:50 +//line gititemrefs.qtpl:53 return qs422016 -//line gititemrefs.qtpl:50 +//line gititemrefs.qtpl:53 } -- cgit v1.2.3