Skip to content

Commit 3b879d6

Browse files
committed
only return head: null if source branch was deleted
1 parent cb2ec41 commit 3b879d6

File tree

1 file changed

+37
-32
lines changed

1 file changed

+37
-32
lines changed

models/pull.go

Lines changed: 37 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -189,36 +189,6 @@ func (pr *PullRequest) apiFormat(e Engine) *api.PullRequest {
189189
return nil
190190
}
191191
}
192-
if baseBranch, err = pr.BaseRepo.GetBranch(pr.BaseBranch); err != nil {
193-
log.Error("pr.BaseRepo.GetBranch[%d]: %v", pr.BaseBranch, err)
194-
return nil
195-
}
196-
if baseCommit, err = baseBranch.GetCommit(); err != nil {
197-
log.Error("baseBranch.GetCommit[%d]: %v", pr.ID, err)
198-
return nil
199-
}
200-
if headBranch, err = pr.HeadRepo.GetBranch(pr.HeadBranch); err != nil {
201-
log.Error("pr.HeadRepo.GetBranch[%d]: %v", pr.HeadBranch, err)
202-
return nil
203-
}
204-
if headCommit, err = headBranch.GetCommit(); err != nil {
205-
log.Error("headBranch.GetCommit[%d]: %v", pr.ID, err)
206-
return nil
207-
}
208-
apiBaseBranchInfo := &api.PRBranchInfo{
209-
Name: pr.BaseBranch,
210-
Ref: pr.BaseBranch,
211-
Sha: baseCommit.ID.String(),
212-
RepoID: pr.BaseRepoID,
213-
Repository: pr.BaseRepo.innerAPIFormat(e, AccessModeNone, false),
214-
}
215-
apiHeadBranchInfo := &api.PRBranchInfo{
216-
Name: pr.HeadBranch,
217-
Ref: pr.HeadBranch,
218-
Sha: headCommit.ID.String(),
219-
RepoID: pr.HeadRepoID,
220-
Repository: pr.HeadRepo.innerAPIFormat(e, AccessModeNone, false),
221-
}
222192

223193
if err = pr.Issue.loadRepo(e); err != nil {
224194
log.Error("pr.Issue.loadRepo[%d]: %v", pr.ID, err)
@@ -241,13 +211,48 @@ func (pr *PullRequest) apiFormat(e Engine) *api.PullRequest {
241211
DiffURL: pr.Issue.DiffURL(),
242212
PatchURL: pr.Issue.PatchURL(),
243213
HasMerged: pr.HasMerged,
244-
Base: apiBaseBranchInfo,
245-
Head: apiHeadBranchInfo,
246214
MergeBase: pr.MergeBase,
247215
Deadline: apiIssue.Deadline,
248216
Created: pr.Issue.CreatedUnix.AsTimePtr(),
249217
Updated: pr.Issue.UpdatedUnix.AsTimePtr(),
250218
}
219+
baseBranch, err = pr.BaseRepo.GetBranch(pr.BaseBranch)
220+
if err != nil {
221+
apiPullRequest.Base = nil
222+
} else {
223+
apiBaseBranchInfo := &api.PRBranchInfo{
224+
Name: pr.BaseBranch,
225+
Ref: pr.BaseBranch,
226+
RepoID: pr.BaseRepoID,
227+
Repository: pr.BaseRepo.innerAPIFormat(e, AccessModeNone, false),
228+
}
229+
baseCommit, err = baseBranch.GetCommit()
230+
if err != nil {
231+
apiBaseBranchInfo.Sha = ""
232+
} else {
233+
apiBaseBranchInfo.Sha = baseCommit.ID.String()
234+
}
235+
apiPullRequest.Base = apiBaseBranchInfo
236+
}
237+
238+
headBranch, err = pr.HeadRepo.GetBranch(pr.HeadBranch)
239+
if err != nil {
240+
apiPullRequest.Head = nil
241+
} else {
242+
apiHeadBranchInfo := &api.PRBranchInfo{
243+
Name: pr.HeadBranch,
244+
Ref: pr.HeadBranch,
245+
RepoID: pr.HeadRepoID,
246+
Repository: pr.HeadRepo.innerAPIFormat(e, AccessModeNone, false),
247+
}
248+
headCommit, err = headBranch.GetCommit()
249+
if err != nil {
250+
apiHeadBranchInfo.Sha = ""
251+
} else {
252+
apiHeadBranchInfo.Sha = headCommit.ID.String()
253+
}
254+
apiPullRequest.Head = apiHeadBranchInfo
255+
}
251256

252257
if pr.Status != PullRequestStatusChecking {
253258
mergeable := pr.Status != PullRequestStatusConflict && !pr.IsWorkInProgress()

0 commit comments

Comments
 (0)