@@ -419,6 +419,9 @@ func ToAPIPullRequests(ctx context.Context, baseRepo *repo_model.Repository, prs
419
419
if baseBranch != nil {
420
420
apiPullRequest .Base .Sha = baseBranch .CommitID
421
421
}
422
+ if pr .HeadRepoID == pr .BaseRepoID {
423
+ apiPullRequest .Head .Repository = apiPullRequest .Base .Repository
424
+ }
422
425
423
426
// pull request head branch, both repository and branch could not exist
424
427
if pr .HeadRepo != nil {
@@ -431,22 +434,19 @@ func ToAPIPullRequests(ctx context.Context, baseRepo *repo_model.Repository, prs
431
434
if exist {
432
435
apiPullRequest .Head .Ref = pr .HeadBranch
433
436
}
437
+ if pr .HeadRepoID != pr .BaseRepoID {
438
+ p , err := access_model .GetUserRepoPermission (ctx , pr .HeadRepo , doer )
439
+ if err != nil {
440
+ log .Error ("GetUserRepoPermission[%d]: %v" , pr .HeadRepoID , err )
441
+ p .AccessMode = perm .AccessModeNone
442
+ }
443
+ apiPullRequest .Head .Repository = ToRepo (ctx , pr .HeadRepo , p )
444
+ }
434
445
}
435
446
if apiPullRequest .Head .Ref == "" {
436
447
apiPullRequest .Head .Ref = pr .GetGitRefName ()
437
448
}
438
449
439
- if pr .HeadRepoID == pr .BaseRepoID {
440
- apiPullRequest .Head .Repository = apiPullRequest .Base .Repository
441
- } else {
442
- p , err := access_model .GetUserRepoPermission (ctx , pr .HeadRepo , doer )
443
- if err != nil {
444
- log .Error ("GetUserRepoPermission[%d]: %v" , pr .HeadRepoID , err )
445
- p .AccessMode = perm .AccessModeNone
446
- }
447
- apiPullRequest .Head .Repository = ToRepo (ctx , pr .HeadRepo , p )
448
- }
449
-
450
450
if pr .Flow == issues_model .PullRequestFlowAGit {
451
451
apiPullRequest .Head .Name = ""
452
452
}
0 commit comments