* Fix panic in API pulls when headbranch does not exist * refix other reference to plumbing.ErrReferenceNotFound Signed-off-by: Andrew Thornton <art27@cantab.net>tags/v1.13.0-dev
@@ -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 | |||
} |