|
|
|
|
@ -419,6 +419,9 @@ func ToAPIPullRequests(ctx context.Context, baseRepo *repo_model.Repository, prs
|
|
|
|
|
if baseBranch != nil {
|
|
|
|
|
apiPullRequest.Base.Sha = baseBranch.CommitID
|
|
|
|
|
}
|
|
|
|
|
if pr.HeadRepoID == pr.BaseRepoID {
|
|
|
|
|
apiPullRequest.Head.Repository = apiPullRequest.Base.Repository
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// pull request head branch, both repository and branch could not exist
|
|
|
|
|
if pr.HeadRepo != nil {
|
|
|
|
|
@ -431,22 +434,19 @@ func ToAPIPullRequests(ctx context.Context, baseRepo *repo_model.Repository, prs
|
|
|
|
|
if exist {
|
|
|
|
|
apiPullRequest.Head.Ref = pr.HeadBranch
|
|
|
|
|
}
|
|
|
|
|
if pr.HeadRepoID != pr.BaseRepoID {
|
|
|
|
|
p, err := access_model.GetUserRepoPermission(ctx, pr.HeadRepo, doer)
|
|
|
|
|
if err != nil {
|
|
|
|
|
log.Error("GetUserRepoPermission[%d]: %v", pr.HeadRepoID, err)
|
|
|
|
|
p.AccessMode = perm.AccessModeNone
|
|
|
|
|
}
|
|
|
|
|
apiPullRequest.Head.Repository = ToRepo(ctx, pr.HeadRepo, p)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if apiPullRequest.Head.Ref == "" {
|
|
|
|
|
apiPullRequest.Head.Ref = pr.GetGitRefName()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if pr.HeadRepoID == pr.BaseRepoID {
|
|
|
|
|
apiPullRequest.Head.Repository = apiPullRequest.Base.Repository
|
|
|
|
|
} else {
|
|
|
|
|
p, err := access_model.GetUserRepoPermission(ctx, pr.HeadRepo, doer)
|
|
|
|
|
if err != nil {
|
|
|
|
|
log.Error("GetUserRepoPermission[%d]: %v", pr.HeadRepoID, err)
|
|
|
|
|
p.AccessMode = perm.AccessModeNone
|
|
|
|
|
}
|
|
|
|
|
apiPullRequest.Head.Repository = ToRepo(ctx, pr.HeadRepo, p)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if pr.Flow == issues_model.PullRequestFlowAGit {
|
|
|
|
|
apiPullRequest.Head.Name = ""
|
|
|
|
|
}
|
|
|
|
|
|