Fix panic in API pulls when headbranch does not exist (#10676)
* Fix panic in API pulls when headbranch does not exist * refix other reference to plumbing.ErrReferenceNotFound Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
		
							parent
							
								
									ec4d0cdd56
								
							
						
					
					
						commit
						3fc4f3670c
					
				
					 3 changed files with 7 additions and 3 deletions
				
			
		|  | @ -114,7 +114,7 @@ func ToAPIPullRequest(pr *models.PullRequest) *api.PullRequest { | |||
| 		if git.IsErrBranchNotExist(err) { | ||||
| 			headCommitID, err := headGitRepo.GetRefCommitID(apiPullRequest.Head.Ref) | ||||
| 			if err != nil && !git.IsErrNotExist(err) { | ||||
| 				log.Error("GetCommit[%s]: %v", headBranch.Name, err) | ||||
| 				log.Error("GetCommit[%s]: %v", pr.HeadBranch, err) | ||||
| 				return nil | ||||
| 			} | ||||
| 			if err == nil { | ||||
|  |  | |||
|  | @ -21,6 +21,11 @@ import ( | |||
| func (repo *Repository) GetRefCommitID(name string) (string, error) { | ||||
| 	ref, err := repo.gogitRepo.Reference(plumbing.ReferenceName(name), true) | ||||
| 	if err != nil { | ||||
| 		if err == plumbing.ErrReferenceNotFound { | ||||
| 			return "", ErrNotExist{ | ||||
| 				ID: name, | ||||
| 			} | ||||
| 		} | ||||
| 		return "", err | ||||
| 	} | ||||
| 
 | ||||
|  |  | |||
|  | @ -17,7 +17,6 @@ import ( | |||
| 	"code.gitea.io/gitea/modules/repofiles" | ||||
| 	repo_module "code.gitea.io/gitea/modules/repository" | ||||
| 	"code.gitea.io/gitea/modules/util" | ||||
| 	"gopkg.in/src-d/go-git.v4/plumbing" | ||||
| ) | ||||
| 
 | ||||
| const ( | ||||
|  | @ -253,7 +252,7 @@ func loadBranches(ctx *context.Context) []*Branch { | |||
| 					repoIDToGitRepo[pr.BaseRepoID] = baseGitRepo | ||||
| 				} | ||||
| 				pullCommit, err := baseGitRepo.GetRefCommitID(pr.GetGitRefName()) | ||||
| 				if err != nil && err != plumbing.ErrReferenceNotFound { | ||||
| 				if err != nil && !git.IsErrNotExist(err) { | ||||
| 					ctx.ServerError("GetBranchCommitID", err) | ||||
| 					return nil | ||||
| 				} | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue