mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	Use middleware to open gitRepo (#19559)
This commit is contained in:
		@@ -1014,7 +1014,7 @@ func Routes() *web.Route {
 | 
				
			|||||||
					m.Group("/{ref}", func() {
 | 
										m.Group("/{ref}", func() {
 | 
				
			||||||
						m.Get("/status", repo.GetCombinedCommitStatusByRef)
 | 
											m.Get("/status", repo.GetCombinedCommitStatusByRef)
 | 
				
			||||||
						m.Get("/statuses", repo.GetCommitStatusesByRef)
 | 
											m.Get("/statuses", repo.GetCommitStatusesByRef)
 | 
				
			||||||
					})
 | 
										}, context.ReferencesGitRepo())
 | 
				
			||||||
				}, reqRepoReader(unit.TypeCode))
 | 
									}, reqRepoReader(unit.TypeCode))
 | 
				
			||||||
				m.Group("/git", func() {
 | 
									m.Group("/git", func() {
 | 
				
			||||||
					m.Group("/commits", func() {
 | 
										m.Group("/commits", func() {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,6 +5,7 @@
 | 
				
			|||||||
package utils
 | 
					package utils
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
 | 
						"fmt"
 | 
				
			||||||
	"net/http"
 | 
						"net/http"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"code.gitea.io/gitea/modules/context"
 | 
						"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
 | 
					// GetGitRefs return git references based on filter
 | 
				
			||||||
func GetGitRefs(ctx *context.APIContext, filter string) ([]*git.Reference, string, error) {
 | 
					func GetGitRefs(ctx *context.APIContext, filter string) ([]*git.Reference, string, error) {
 | 
				
			||||||
	if ctx.Repo.GitRepo == nil {
 | 
						if ctx.Repo.GitRepo == nil {
 | 
				
			||||||
		var err error
 | 
							return nil, "", fmt.Errorf("no open git repo found in context")
 | 
				
			||||||
		ctx.Repo.GitRepo, err = git.OpenRepository(ctx, ctx.Repo.Repository.RepoPath())
 | 
					 | 
				
			||||||
		if err != nil {
 | 
					 | 
				
			||||||
			return nil, "OpenRepository", err
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		defer ctx.Repo.GitRepo.Close()
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if len(filter) > 0 {
 | 
						if len(filter) > 0 {
 | 
				
			||||||
		filter = "refs/" + filter
 | 
							filter = "refs/" + filter
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user