summaryrefslogtreecommitdiffstats
path: root/routers
diff options
context:
space:
mode:
author6543 <6543@obermui.de>2022-04-30 16:32:01 +0200
committerGitHub <noreply@github.com>2022-04-30 16:32:01 +0200
commit1597e2da3e72b9a846f7b17bf38c1d192f43c182 (patch)
tree355ad785576f0e1511183a1b31ba7bd107103e19 /routers
parentd23f2203433617d1b4146db1e9359f7368915d63 (diff)
downloadgitea-1597e2da3e72b9a846f7b17bf38c1d192f43c182.tar.gz
gitea-1597e2da3e72b9a846f7b17bf38c1d192f43c182.zip
Use middleware to open gitRepo (#19559)
Diffstat (limited to 'routers')
-rw-r--r--routers/api/v1/api.go2
-rw-r--r--routers/api/v1/utils/git.go8
2 files changed, 3 insertions, 7 deletions
diff --git a/routers/api/v1/api.go b/routers/api/v1/api.go
index 9351cc1510..ce0719ddd8 100644
--- a/routers/api/v1/api.go
+++ b/routers/api/v1/api.go
@@ -1014,7 +1014,7 @@ func Routes() *web.Route {
m.Group("/{ref}", func() {
m.Get("/status", repo.GetCombinedCommitStatusByRef)
m.Get("/statuses", repo.GetCommitStatusesByRef)
- })
+ }, context.ReferencesGitRepo())
}, reqRepoReader(unit.TypeCode))
m.Group("/git", func() {
m.Group("/commits", func() {
diff --git a/routers/api/v1/utils/git.go b/routers/api/v1/utils/git.go
index 9f02bc8083..ac64d5b87b 100644
--- a/routers/api/v1/utils/git.go
+++ b/routers/api/v1/utils/git.go
@@ -5,6 +5,7 @@
package utils
import (
+ "fmt"
"net/http"
"code.gitea.io/gitea/modules/context"
@@ -35,12 +36,7 @@ func ResolveRefOrSha(ctx *context.APIContext, ref string) string {
// GetGitRefs return git references based on filter
func GetGitRefs(ctx *context.APIContext, filter string) ([]*git.Reference, string, error) {
if ctx.Repo.GitRepo == nil {
- var err error
- ctx.Repo.GitRepo, err = git.OpenRepository(ctx, ctx.Repo.Repository.RepoPath())
- if err != nil {
- return nil, "OpenRepository", err
- }
- defer ctx.Repo.GitRepo.Close()
+ return nil, "", fmt.Errorf("no open git repo found in context")
}
if len(filter) > 0 {
filter = "refs/" + filter