mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-03 21:08:25 +00:00 
			
		
		
		
	* check if GitRepo already open and close if * Only run RepoAssignment once
This commit is contained in:
		@@ -410,6 +410,12 @@ func RepoIDAssignment() func(ctx *Context) {
 | 
			
		||||
 | 
			
		||||
// RepoAssignment returns a middleware to handle repository assignment
 | 
			
		||||
func RepoAssignment(ctx *Context) (cancel context.CancelFunc) {
 | 
			
		||||
	if _, repoAssignmentOnce := ctx.Data["repoAssignmentExecuted"]; repoAssignmentOnce {
 | 
			
		||||
		log.Trace("RepoAssignment was exec already, skipping second call ...")
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	ctx.Data["repoAssignmentExecuted"] = true
 | 
			
		||||
 | 
			
		||||
	var (
 | 
			
		||||
		owner *user_model.User
 | 
			
		||||
		err   error
 | 
			
		||||
@@ -592,6 +598,9 @@ func RepoAssignment(ctx *Context) (cancel context.CancelFunc) {
 | 
			
		||||
		ctx.ServerError("RepoAssignment Invalid repo "+repo_model.RepoPath(userName, repoName), err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	if ctx.Repo.GitRepo != nil {
 | 
			
		||||
		ctx.Repo.GitRepo.Close()
 | 
			
		||||
	}
 | 
			
		||||
	ctx.Repo.GitRepo = gitRepo
 | 
			
		||||
 | 
			
		||||
	// We opened it, we should close it
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user