@@ -419,6 +419,9 @@ func ToAPIPullRequests(ctx context.Context, baseRepo *repo_model.Repository, prs
419419if baseBranch != nil {
420420apiPullRequest .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
424427if pr .HeadRepo != nil {
@@ -431,22 +434,19 @@ func ToAPIPullRequests(ctx context.Context, baseRepo *repo_model.Repository, prs
431434if exist {
432435apiPullRequest .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}
435446if apiPullRequest .Head .Ref == "" {
436447apiPullRequest .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-
450450if pr .Flow == issues_model .PullRequestFlowAGit {
451451apiPullRequest .Head .Name = ""
452452}