aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel A. Giovanini <mail@gabrielgio.me>2024-06-15 18:15:22 +0200
committerGabriel A. Giovanini <mail@gabrielgio.me>2024-06-15 18:21:55 +0200
commitd2c4023832e26d3fe3f77c9fa8581588ea812cc2 (patch)
tree6e9b5665d80128597fb078b1f945b2ce349389a8
parent519af559f94aab1bd1446cc01144cbf2640fcc6a (diff)
downloadcerrado-d2c4023832e26d3fe3f77c9fa8581588ea812cc2.tar.gz
cerrado-d2c4023832e26d3fe3f77c9fa8581588ea812cc2.tar.bz2
cerrado-d2c4023832e26d3fe3f77c9fa8581588ea812cc2.zip
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.
-rw-r--r--pkg/git/git.go8
-rw-r--r--pkg/handler/git/handler.go2
-rw-r--r--pkg/service/git.go2
-rw-r--r--scss/main.scss10
-rw-r--r--templates/gititemrefs.qtpl23
-rw-r--r--templates/gititemrefs.qtpl.go165
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) %}
<div class="row">
<div class="col-md-8">
+ {% if len(g.Tags) > 0 %}
<div class="event-list">
{% for _, t := range g.Tags %}
- <div class="row event">
- <div class="col-xxl-2">
- {%s TimeFormat(t.Tagger.When) %}
- </div>
- <div class="col-xxl-7">
- <pre>{%s t.Message %}</pre>
+ <div class="row event me-md-2">
+ <div class="col-4">
+ {%s t.Name().Short() %}
</div>
- <div class="col-xxl-3">
- <small>{%s t.Tagger.Name %}</small>
+ <div class="col-8">
+ <div class="float-end">
+ <a href="/{%s name %}/tree/{%s t.Name().Short() %}">tree</a>
+ <a href="/{%s name %}/log/{%s t.Name().Short() %}">log</a>
+ </div>
</div>
</div>
{% endfor %}
</div>
+ {% else %}
+ <p> No tags </p>
+ {% endif %}
</div>
<div class="col-md-4">
<div class="event-list">
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(`
<div class="row">
<div class="col-md-8">
+ `)
+//line gititemrefs.qtpl:15
+ if len(g.Tags) > 0 {
+//line gititemrefs.qtpl:15
+ qw422016.N().S(`
<div class="event-list">
`)
//line gititemrefs.qtpl:17
- for _, t := range g.Tags {
+ for _, t := range g.Tags {
//line gititemrefs.qtpl:17
- qw422016.N().S(`
- <div class="row event">
- <div class="col-xxl-2">
+ qw422016.N().S(`
+ <div class="row event me-md-2">
+ <div class="col-4">
`)
//line gititemrefs.qtpl:20
- qw422016.E().S(TimeFormat(t.Tagger.When))
+ qw422016.E().S(t.Name().Short())
//line gititemrefs.qtpl:20
- qw422016.N().S(`
- </div>
- <div class="col-xxl-7">
- <pre>`)
-//line gititemrefs.qtpl:23
- qw422016.E().S(t.Message)
-//line gititemrefs.qtpl:23
- qw422016.N().S(`</pre>
+ qw422016.N().S(`
</div>
- <div class="col-xxl-3">
- <small>`)
-//line gititemrefs.qtpl:26
- qw422016.E().S(t.Tagger.Name)
-//line gititemrefs.qtpl:26
- qw422016.N().S(`</small>
+ <div class="col-8">
+ <div class="float-end">
+ <a href="/`)
+//line gititemrefs.qtpl:24
+ qw422016.E().S(name)
+//line gititemrefs.qtpl:24
+ qw422016.N().S(`/tree/`)
+//line gititemrefs.qtpl:24
+ qw422016.E().S(t.Name().Short())
+//line gititemrefs.qtpl:24
+ qw422016.N().S(`">tree</a>
+ <a href="/`)
+//line gititemrefs.qtpl:25
+ qw422016.E().S(name)
+//line gititemrefs.qtpl:25
+ qw422016.N().S(`/log/`)
+//line gititemrefs.qtpl:25
+ qw422016.E().S(t.Name().Short())
+//line gititemrefs.qtpl:25
+ qw422016.N().S(`">log</a>
+ </div>
</div>
</div>
`)
//line gititemrefs.qtpl:29
- }
+ }
//line gititemrefs.qtpl:29
- qw422016.N().S(`
+ qw422016.N().S(`
</div>
+ `)
+//line gititemrefs.qtpl:31
+ } else {
+//line gititemrefs.qtpl:31
+ qw422016.N().S(`
+ <p> No tags </p>
+ `)
+//line gititemrefs.qtpl:33
+ }
+//line gititemrefs.qtpl:33
+ qw422016.N().S(`
</div>
<div class="col-md-4">
<div class="event-list">
`)
-//line gititemrefs.qtpl:34
+//line gititemrefs.qtpl:37
for _, b := range g.Branches {
-//line gititemrefs.qtpl:34
+//line gititemrefs.qtpl:37
qw422016.N().S(`
<div class="row event">
<div class="col-4">
`)
-//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(`
</div>
<div class="col-8">
<div class="float-end">
<a href="/`)
-//line gititemrefs.qtpl:41
+//line gititemrefs.qtpl:44
qw422016.E().S(name)
-//line gititemrefs.qtpl:41
+//line gititemrefs.qtpl:44
qw422016.N().S(`/tree/`)
-//line gititemrefs.qtpl:41
+//line gititemrefs.qtpl:44
qw422016.E().S(b.Name().Short())
-//line gititemrefs.qtpl:41
+//line gititemrefs.qtpl:44
qw422016.N().S(`">tree</a>
<a href="/`)
-//line gititemrefs.qtpl:42
+//line gititemrefs.qtpl:45
qw422016.E().S(name)
-//line gititemrefs.qtpl:42
+//line gititemrefs.qtpl:45
qw422016.N().S(`/log/`)
-//line gititemrefs.qtpl:42
+//line gititemrefs.qtpl:45
qw422016.E().S(b.Name().Short())
-//line gititemrefs.qtpl:42
+//line gititemrefs.qtpl:45
qw422016.N().S(`">log</a>
</div>
</div>
</div>
`)
-//line gititemrefs.qtpl:46
+//line gititemrefs.qtpl:49
}
-//line gititemrefs.qtpl:46
+//line gititemrefs.qtpl:49
qw422016.N().S(`
</div>
</div>
</div>
`)
-//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
}