|
|
|
@ -121,12 +121,40 @@ func (pr *PullRequest) LoadIssue() (err error) { |
|
|
|
|
// Required - Issue
|
|
|
|
|
// Optional - Merger
|
|
|
|
|
func (pr *PullRequest) APIFormat() *api.PullRequest { |
|
|
|
|
|
|
|
|
|
var ( |
|
|
|
|
baseBranch *Branch |
|
|
|
|
headBranch *Branch |
|
|
|
|
baseCommit *git.Commit |
|
|
|
|
headCommit *git.Commit |
|
|
|
|
err error |
|
|
|
|
) |
|
|
|
|
apiIssue := pr.Issue.APIFormat() |
|
|
|
|
baseBranch, _ := pr.BaseRepo.GetBranch(pr.BaseBranch) |
|
|
|
|
baseCommit, _ := baseBranch.GetCommit() |
|
|
|
|
headBranch, _ := pr.HeadRepo.GetBranch(pr.HeadBranch) |
|
|
|
|
headCommit, _ := headBranch.GetCommit() |
|
|
|
|
if pr.BaseRepo == nil { |
|
|
|
|
pr.BaseRepo, err = GetRepositoryByID(pr.BaseRepoID) |
|
|
|
|
if err != nil { |
|
|
|
|
log.Error(log.ERROR, "GetRepositoryById[%d]: %v", pr.ID, err) |
|
|
|
|
return nil |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if pr.HeadRepo == nil { |
|
|
|
|
pr.HeadRepo, err = GetRepositoryByID(pr.HeadRepoID) |
|
|
|
|
if err != nil { |
|
|
|
|
log.Error(log.ERROR, "GetRepositoryById[%d]: %v", pr.ID, err) |
|
|
|
|
return nil |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if baseBranch, err = pr.BaseRepo.GetBranch(pr.BaseBranch); err != nil { |
|
|
|
|
return nil |
|
|
|
|
} |
|
|
|
|
if baseCommit, err = baseBranch.GetCommit(); err != nil { |
|
|
|
|
return nil |
|
|
|
|
} |
|
|
|
|
if headBranch, err = pr.HeadRepo.GetBranch(pr.HeadBranch); err != nil { |
|
|
|
|
return nil |
|
|
|
|
} |
|
|
|
|
if headCommit, err = headBranch.GetCommit(); err != nil { |
|
|
|
|
return nil |
|
|
|
|
} |
|
|
|
|
apiBaseBranchInfo := &api.PRBranchInfo{ |
|
|
|
|
Name: pr.BaseBranch, |
|
|
|
|
Ref: pr.BaseBranch, |
|
|
|
@ -590,8 +618,12 @@ func GetPullRequestByIndex(repoID int64, index int64) (*PullRequest, error) { |
|
|
|
|
return nil, ErrPullRequestNotExist{0, repoID, index, 0, "", ""} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
pr.LoadAttributes() |
|
|
|
|
pr.LoadIssue() |
|
|
|
|
if err = pr.LoadAttributes(); err != nil { |
|
|
|
|
return nil, err |
|
|
|
|
} |
|
|
|
|
if err = pr.LoadIssue(); err != nil { |
|
|
|
|
return nil, err |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return pr, nil |
|
|
|
|
} |
|
|
|
|