aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--http_handle_repo_index.go12
-rw-r--r--templates/repo_index.tmpl18
2 files changed, 30 insertions, 0 deletions
diff --git a/http_handle_repo_index.go b/http_handle_repo_index.go
index 6ac9b07..e4a9f5d 100644
--- a/http_handle_repo_index.go
+++ b/http_handle_repo_index.go
@@ -9,6 +9,7 @@ import (
"github.com/go-git/go-git/v5"
"github.com/go-git/go-git/v5/plumbing"
+ "github.com/go-git/go-git/v5/plumbing/storer"
"github.com/go-git/go-git/v5/plumbing/object"
)
@@ -22,6 +23,8 @@ func handle_repo_index(w http.ResponseWriter, r *http.Request, params map[string
var commit_object *object.Commit
var tree *object.Tree
var notes []string
+ var branches []string
+ var branches_ storer.ReferenceIter
repo, repo_name, group_path = params["repo"].(*git.Repository), params["repo_name"].(string), params["group_path"].([]string)
@@ -34,6 +37,15 @@ func handle_repo_index(w http.ResponseWriter, r *http.Request, params map[string
goto no_ref
}
+ branches_, err = repo.Branches()
+ if err != nil {}
+ err = branches_.ForEach(func (branch *plumbing.Reference) error {
+ branches = append(branches, branch.Name().Short())
+ return nil
+ })
+ if err != nil {}
+ params["branches"] = branches
+
if recent_commits, err = get_recent_commits(repo, ref_hash, 3); err != nil {
goto no_ref
}
diff --git a/templates/repo_index.tmpl b/templates/repo_index.tmpl
index d0c65c0..19814cc 100644
--- a/templates/repo_index.tmpl
+++ b/templates/repo_index.tmpl
@@ -43,6 +43,24 @@
</table>
</div>
<div class="padding-wrapper">
+ <table id="branches" class="rounded">
+ <thead>
+ <tr class="title-row">
+ <th colspan="1">Branches</th>
+ </tr>
+ </thead>
+ <tbody>
+ {{ range .branches }}
+ <tr>
+ <td>
+ <a href="./?branch={{ . }}">{{ . }}</a>
+ </td>
+ </tr>
+ {{ end }}
+ </tbody>
+ </table>
+ </div>
+ <div class="padding-wrapper">
<p>
<a href="contrib/" class="btn-normal">Merge requests</a>
</p>