@@ -420,7 +420,7 @@ func (pr *PullRequest) apiFormat(e Engine) *api.PullRequest {
420
420
err error
421
421
)
422
422
if err = pr .Issue .loadRepo (e ); err != nil {
423
- log .Error ("loadRepo[%d]: %v" , pr .ID , err )
423
+ log .Error ("pr.Issue. loadRepo[%d]: %v" , pr .ID , err )
424
424
return nil
425
425
}
426
426
apiIssue := pr .Issue .apiFormat (e )
@@ -431,19 +431,14 @@ func (pr *PullRequest) apiFormat(e Engine) *api.PullRequest {
431
431
return nil
432
432
}
433
433
}
434
- if pr .HeadRepo == nil {
434
+ if pr .HeadRepoID != 0 && pr . HeadRepo == nil {
435
435
pr .HeadRepo , err = getRepositoryByID (e , pr .HeadRepoID )
436
- if err != nil {
436
+ if err != nil && ! IsErrRepoNotExist ( err ) {
437
437
log .Error ("GetRepositoryById[%d]: %v" , pr .ID , err )
438
438
return nil
439
439
}
440
440
}
441
441
442
- if err = pr .Issue .loadRepo (e ); err != nil {
443
- log .Error ("pr.Issue.loadRepo[%d]: %v" , pr .ID , err )
444
- return nil
445
- }
446
-
447
442
apiPullRequest := & api.PullRequest {
448
443
ID : pr .ID ,
449
444
URL : pr .Issue .HTMLURL (),
@@ -495,33 +490,41 @@ func (pr *PullRequest) apiFormat(e Engine) *api.PullRequest {
495
490
apiPullRequest .Base = apiBaseBranchInfo
496
491
}
497
492
498
- headBranch , err = pr .HeadRepo .GetBranch (pr .HeadBranch )
499
- if err != nil {
500
- if git .IsErrBranchNotExist (err ) {
501
- apiPullRequest .Head = nil
502
- } else {
503
- log .Error ("GetBranch[%s]: %v" , pr .HeadBranch , err )
504
- return nil
505
- }
506
- } else {
507
- apiHeadBranchInfo := & api.PRBranchInfo {
508
- Name : pr .HeadBranch ,
509
- Ref : pr .HeadBranch ,
510
- RepoID : pr .HeadRepoID ,
511
- Repository : pr .HeadRepo .innerAPIFormat (e , AccessModeNone , false ),
512
- }
513
- headCommit , err = headBranch .GetCommit ()
493
+ if pr .HeadRepo != nil {
494
+ headBranch , err = pr .HeadRepo .GetBranch (pr .HeadBranch )
514
495
if err != nil {
515
- if git .IsErrNotExist (err ) {
516
- apiHeadBranchInfo . Sha = ""
496
+ if git .IsErrBranchNotExist (err ) {
497
+ apiPullRequest . Head = nil
517
498
} else {
518
- log .Error ("GetCommit [%s]: %v" , headBranch . Name , err )
499
+ log .Error ("GetBranch [%s]: %v" , pr . HeadBranch , err )
519
500
return nil
520
501
}
521
502
} else {
522
- apiHeadBranchInfo .Sha = headCommit .ID .String ()
503
+ apiHeadBranchInfo := & api.PRBranchInfo {
504
+ Name : pr .HeadBranch ,
505
+ Ref : pr .HeadBranch ,
506
+ RepoID : pr .HeadRepoID ,
507
+ Repository : pr .HeadRepo .innerAPIFormat (e , AccessModeNone , false ),
508
+ }
509
+ headCommit , err = headBranch .GetCommit ()
510
+ if err != nil {
511
+ if git .IsErrNotExist (err ) {
512
+ apiHeadBranchInfo .Sha = ""
513
+ } else {
514
+ log .Error ("GetCommit[%s]: %v" , headBranch .Name , err )
515
+ return nil
516
+ }
517
+ } else {
518
+ apiHeadBranchInfo .Sha = headCommit .ID .String ()
519
+ }
520
+ apiPullRequest .Head = apiHeadBranchInfo
521
+ }
522
+ } else {
523
+ apiPullRequest .Head = & api.PRBranchInfo {
524
+ Name : pr .HeadBranch ,
525
+ Ref : fmt .Sprintf ("refs/pull/%d/head" , pr .Index ),
526
+ RepoID : - 1 ,
523
527
}
524
- apiPullRequest .Head = apiHeadBranchInfo
525
528
}
526
529
527
530
if pr .Status != PullRequestStatusChecking {
0 commit comments