@@ -419,6 +419,9 @@ func ToAPIPullRequests(ctx context.Context, baseRepo *repo_model.Repository, prs
419419 if baseBranch != nil {
420420 apiPullRequest .Base .Sha = baseBranch .CommitID
421421 }
422+ if pr .HeadRepoID == pr .BaseRepoID {
423+ apiPullRequest .Head .Repository = apiPullRequest .Base .Repository
424+ }
422425
423426 // pull request head branch, both repository and branch could not exist
424427 if pr .HeadRepo != nil {
@@ -431,22 +434,19 @@ func ToAPIPullRequests(ctx context.Context, baseRepo *repo_model.Repository, prs
431434 if exist {
432435 apiPullRequest .Head .Ref = pr .HeadBranch
433436 }
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+ }
434445 }
435446 if apiPullRequest .Head .Ref == "" {
436447 apiPullRequest .Head .Ref = pr .GetGitRefName ()
437448 }
438449
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-
450450 if pr .Flow == issues_model .PullRequestFlowAGit {
451451 apiPullRequest .Head .Name = ""
452452 }
0 commit comments