Skip to content

Commit 3fc4f36

Browse files
authored
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 <[email protected]>
1 parent ec4d0cd commit 3fc4f36

File tree

3 files changed

+7
-3
lines changed

3 files changed

+7
-3
lines changed

modules/convert/pull.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ func ToAPIPullRequest(pr *models.PullRequest) *api.PullRequest {
114114
if git.IsErrBranchNotExist(err) {
115115
headCommitID, err := headGitRepo.GetRefCommitID(apiPullRequest.Head.Ref)
116116
if err != nil && !git.IsErrNotExist(err) {
117-
log.Error("GetCommit[%s]: %v", headBranch.Name, err)
117+
log.Error("GetCommit[%s]: %v", pr.HeadBranch, err)
118118
return nil
119119
}
120120
if err == nil {

modules/git/repo_commit.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@ import (
2121
func (repo *Repository) GetRefCommitID(name string) (string, error) {
2222
ref, err := repo.gogitRepo.Reference(plumbing.ReferenceName(name), true)
2323
if err != nil {
24+
if err == plumbing.ErrReferenceNotFound {
25+
return "", ErrNotExist{
26+
ID: name,
27+
}
28+
}
2429
return "", err
2530
}
2631

routers/repo/branch.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ import (
1717
"code.gitea.io/gitea/modules/repofiles"
1818
repo_module "code.gitea.io/gitea/modules/repository"
1919
"code.gitea.io/gitea/modules/util"
20-
"gopkg.in/src-d/go-git.v4/plumbing"
2120
)
2221

2322
const (
@@ -253,7 +252,7 @@ func loadBranches(ctx *context.Context) []*Branch {
253252
repoIDToGitRepo[pr.BaseRepoID] = baseGitRepo
254253
}
255254
pullCommit, err := baseGitRepo.GetRefCommitID(pr.GetGitRefName())
256-
if err != nil && err != plumbing.ErrReferenceNotFound {
255+
if err != nil && !git.IsErrNotExist(err) {
257256
ctx.ServerError("GetBranchCommitID", err)
258257
return nil
259258
}

0 commit comments

Comments
 (0)