diff options
Diffstat (limited to '')
-rw-r--r-- | git_misc.go | 11 | ||||
-rw-r--r-- | handle_repo_index.go | 3 | ||||
-rw-r--r-- | handle_repo_tree.go | 4 |
3 files changed, 12 insertions, 6 deletions
diff --git a/git_misc.go b/git_misc.go index c463cc4..aa662b1 100644 --- a/git_misc.go +++ b/git_misc.go @@ -1,6 +1,15 @@ package main -import "github.com/go-git/go-git/v5/plumbing/object" +import ( + "path/filepath" + + "github.com/go-git/go-git/v5" + "github.com/go-git/go-git/v5/plumbing/object" +) + +func open_git_repo(category_name, repo_name string) (*git.Repository, error) { + return git.PlainOpen(filepath.Join(config.Git.Root, category_name, repo_name+".git")) +} func build_display_git_tree(tree *object.Tree) []display_git_tree_entry_t { display_git_tree := make([]display_git_tree_entry_t, 0) diff --git a/handle_repo_index.go b/handle_repo_index.go index 8418d70..70aebe6 100644 --- a/handle_repo_index.go +++ b/handle_repo_index.go @@ -2,7 +2,6 @@ package main import ( "net/http" - "path/filepath" "github.com/go-git/go-git/v5" "github.com/go-git/go-git/v5/plumbing/object" @@ -13,7 +12,7 @@ func handle_repo_index(w http.ResponseWriter, r *http.Request) { // TODO: Sanitize path values category_name, repo_name := r.PathValue("category_name"), r.PathValue("repo_name") data["category_name"], data["repo_name"] = category_name, repo_name - repo, err := git.PlainOpen(filepath.Join(config.Git.Root, category_name, repo_name+".git")) + repo, err := open_git_repo(category_name, repo_name) if err != nil { _, _ = w.Write([]byte("Error opening repo: " + err.Error())) return diff --git a/handle_repo_tree.go b/handle_repo_tree.go index c542394..5b27f8f 100644 --- a/handle_repo_tree.go +++ b/handle_repo_tree.go @@ -4,13 +4,11 @@ import ( "bytes" "html/template" "net/http" - "path/filepath" "strings" chroma_formatters_html "github.com/alecthomas/chroma/v2/formatters/html" chroma_lexers "github.com/alecthomas/chroma/v2/lexers" chroma_styles "github.com/alecthomas/chroma/v2/styles" - "github.com/go-git/go-git/v5" "github.com/go-git/go-git/v5/plumbing" ) @@ -19,7 +17,7 @@ func handle_repo_tree(w http.ResponseWriter, r *http.Request) { // TODO: Sanitize path values ref_name, category_name, repo_name, path_spec := r.PathValue("ref"), r.PathValue("category_name"), r.PathValue("repo_name"), strings.TrimSuffix(r.PathValue("rest"), "/") data["category_name"], data["repo_name"], data["path_spec"] = category_name, repo_name, path_spec - repo, err := git.PlainOpen(filepath.Join(config.Git.Root, category_name, repo_name+".git")) + repo, err := open_git_repo(category_name, repo_name) if err != nil { _, _ = w.Write([]byte("Error opening repo: " + err.Error())) return |