Skip to content

Commit d5ab102

Browse files
committed
only try to get HeadBranch if HeadRepo exist
1 parent 159732d commit d5ab102

File tree

1 file changed

+32
-23
lines changed

1 file changed

+32
-23
lines changed

modules/convert/pull.go

Lines changed: 32 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,12 @@ func ToAPIPullRequest(pr *models.PullRequest) *api.PullRequest {
3535
return nil
3636
}
3737
}
38-
if pr.HeadRepo == nil {
38+
if pr.HeadRepoID != 0 && pr.HeadRepo == nil {
3939
pr.HeadRepo, err = models.GetRepositoryByID(pr.HeadRepoID)
40-
if err != nil {
40+
if err != nil && !models.IsErrRepoNotExist(err) {
4141
log.Error("GetRepositoryById[%d]: %v", pr.ID, err)
4242
return nil
43+
4344
}
4445
}
4546

@@ -99,33 +100,41 @@ func ToAPIPullRequest(pr *models.PullRequest) *api.PullRequest {
99100
apiPullRequest.Base = apiBaseBranchInfo
100101
}
101102

102-
headBranch, err = repo_module.GetBranch(pr.HeadRepo, pr.HeadBranch)
103-
if err != nil {
104-
if git.IsErrBranchNotExist(err) {
105-
apiPullRequest.Head = nil
106-
} else {
107-
log.Error("GetBranch[%s]: %v", pr.HeadBranch, err)
108-
return nil
109-
}
110-
} else {
111-
apiHeadBranchInfo := &api.PRBranchInfo{
112-
Name: pr.HeadBranch,
113-
Ref: pr.HeadBranch,
114-
RepoID: pr.HeadRepoID,
115-
Repository: pr.HeadRepo.APIFormat(models.AccessModeNone),
116-
}
117-
headCommit, err = headBranch.GetCommit()
103+
if pr.HeadRepo != nil {
104+
headBranch, err = repo_module.GetBranch(pr.HeadRepo, pr.HeadBranch)
118105
if err != nil {
119-
if git.IsErrNotExist(err) {
120-
apiHeadBranchInfo.Sha = ""
106+
if git.IsErrBranchNotExist(err) {
107+
apiPullRequest.Head = nil
121108
} else {
122-
log.Error("GetCommit[%s]: %v", headBranch.Name, err)
109+
log.Error("GetBranch[%s]: %v", pr.HeadBranch, err)
123110
return nil
124111
}
125112
} else {
126-
apiHeadBranchInfo.Sha = headCommit.ID.String()
113+
apiHeadBranchInfo := &api.PRBranchInfo{
114+
Name: pr.HeadBranch,
115+
Ref: pr.HeadBranch,
116+
RepoID: pr.HeadRepoID,
117+
Repository: pr.HeadRepo.APIFormat(models.AccessModeNone),
118+
}
119+
headCommit, err = headBranch.GetCommit()
120+
if err != nil {
121+
if git.IsErrNotExist(err) {
122+
apiHeadBranchInfo.Sha = ""
123+
} else {
124+
log.Error("GetCommit[%s]: %v", headBranch.Name, err)
125+
return nil
126+
}
127+
} else {
128+
apiHeadBranchInfo.Sha = headCommit.ID.String()
129+
}
130+
apiPullRequest.Head = apiHeadBranchInfo
131+
}
132+
} else {
133+
apiPullRequest.Head = &api.PRBranchInfo{
134+
Name: pr.HeadBranch,
135+
Ref: pr.HeadBranch,
136+
RepoID: -1,
127137
}
128-
apiPullRequest.Head = apiHeadBranchInfo
129138
}
130139

131140
if pr.Status != models.PullRequestStatusChecking {

0 commit comments

Comments
 (0)