@@ -189,36 +189,6 @@ func (pr *PullRequest) apiFormat(e Engine) *api.PullRequest {
189
189
return nil
190
190
}
191
191
}
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
- }
222
192
223
193
if err = pr .Issue .loadRepo (e ); err != nil {
224
194
log .Error ("pr.Issue.loadRepo[%d]: %v" , pr .ID , err )
@@ -241,13 +211,48 @@ func (pr *PullRequest) apiFormat(e Engine) *api.PullRequest {
241
211
DiffURL : pr .Issue .DiffURL (),
242
212
PatchURL : pr .Issue .PatchURL (),
243
213
HasMerged : pr .HasMerged ,
244
- Base : apiBaseBranchInfo ,
245
- Head : apiHeadBranchInfo ,
246
214
MergeBase : pr .MergeBase ,
247
215
Deadline : apiIssue .Deadline ,
248
216
Created : pr .Issue .CreatedUnix .AsTimePtr (),
249
217
Updated : pr .Issue .UpdatedUnix .AsTimePtr (),
250
218
}
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
+ }
251
256
252
257
if pr .Status != PullRequestStatusChecking {
253
258
mergeable := pr .Status != PullRequestStatusConflict && ! pr .IsWorkInProgress ()
0 commit comments