|
|
@ -299,7 +299,7 @@ func ForkPost(ctx *context.Context) {
|
|
|
|
ctx.Redirect(ctxUser.HomeLink() + "/" + url.PathEscape(repo.Name))
|
|
|
|
ctx.Redirect(ctxUser.HomeLink() + "/" + url.PathEscape(repo.Name))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func checkPullInfo(ctx *context.Context) *issues_model.Issue {
|
|
|
|
func getPullInfo(ctx *context.Context) (issue *issues_model.Issue, ok bool) {
|
|
|
|
issue, err := issues_model.GetIssueByIndex(ctx, ctx.Repo.Repository.ID, ctx.ParamsInt64(":index"))
|
|
|
|
issue, err := issues_model.GetIssueByIndex(ctx, ctx.Repo.Repository.ID, ctx.ParamsInt64(":index"))
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
if issues_model.IsErrIssueNotExist(err) {
|
|
|
|
if issues_model.IsErrIssueNotExist(err) {
|
|
|
@ -307,43 +307,43 @@ func checkPullInfo(ctx *context.Context) *issues_model.Issue {
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
ctx.ServerError("GetIssueByIndex", err)
|
|
|
|
ctx.ServerError("GetIssueByIndex", err)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
return nil, false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if err = issue.LoadPoster(ctx); err != nil {
|
|
|
|
if err = issue.LoadPoster(ctx); err != nil {
|
|
|
|
ctx.ServerError("LoadPoster", err)
|
|
|
|
ctx.ServerError("LoadPoster", err)
|
|
|
|
return nil
|
|
|
|
return nil, false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if err := issue.LoadRepo(ctx); err != nil {
|
|
|
|
if err := issue.LoadRepo(ctx); err != nil {
|
|
|
|
ctx.ServerError("LoadRepo", err)
|
|
|
|
ctx.ServerError("LoadRepo", err)
|
|
|
|
return nil
|
|
|
|
return nil, false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
ctx.Data["Title"] = fmt.Sprintf("#%d - %s", issue.Index, issue.Title)
|
|
|
|
ctx.Data["Title"] = fmt.Sprintf("#%d - %s", issue.Index, issue.Title)
|
|
|
|
ctx.Data["Issue"] = issue
|
|
|
|
ctx.Data["Issue"] = issue
|
|
|
|
|
|
|
|
|
|
|
|
if !issue.IsPull {
|
|
|
|
if !issue.IsPull {
|
|
|
|
ctx.NotFound("ViewPullCommits", nil)
|
|
|
|
ctx.NotFound("ViewPullCommits", nil)
|
|
|
|
return nil
|
|
|
|
return nil, false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if err = issue.LoadPullRequest(ctx); err != nil {
|
|
|
|
if err = issue.LoadPullRequest(ctx); err != nil {
|
|
|
|
ctx.ServerError("LoadPullRequest", err)
|
|
|
|
ctx.ServerError("LoadPullRequest", err)
|
|
|
|
return nil
|
|
|
|
return nil, false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if err = issue.PullRequest.LoadHeadRepo(ctx); err != nil {
|
|
|
|
if err = issue.PullRequest.LoadHeadRepo(ctx); err != nil {
|
|
|
|
ctx.ServerError("LoadHeadRepo", err)
|
|
|
|
ctx.ServerError("LoadHeadRepo", err)
|
|
|
|
return nil
|
|
|
|
return nil, false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if ctx.IsSigned {
|
|
|
|
if ctx.IsSigned {
|
|
|
|
// Update issue-user.
|
|
|
|
// Update issue-user.
|
|
|
|
if err = activities_model.SetIssueReadBy(ctx, issue.ID, ctx.Doer.ID); err != nil {
|
|
|
|
if err = activities_model.SetIssueReadBy(ctx, issue.ID, ctx.Doer.ID); err != nil {
|
|
|
|
ctx.ServerError("ReadBy", err)
|
|
|
|
ctx.ServerError("ReadBy", err)
|
|
|
|
return nil
|
|
|
|
return nil, false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return issue
|
|
|
|
return issue, true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func setMergeTarget(ctx *context.Context, pull *issues_model.PullRequest) {
|
|
|
|
func setMergeTarget(ctx *context.Context, pull *issues_model.PullRequest) {
|
|
|
@ -361,14 +361,15 @@ func setMergeTarget(ctx *context.Context, pull *issues_model.PullRequest) {
|
|
|
|
|
|
|
|
|
|
|
|
// GetPullDiffStats get Pull Requests diff stats
|
|
|
|
// GetPullDiffStats get Pull Requests diff stats
|
|
|
|
func GetPullDiffStats(ctx *context.Context) {
|
|
|
|
func GetPullDiffStats(ctx *context.Context) {
|
|
|
|
issue := checkPullInfo(ctx)
|
|
|
|
issue, ok := getPullInfo(ctx)
|
|
|
|
|
|
|
|
if !ok {
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
}
|
|
|
|
pull := issue.PullRequest
|
|
|
|
pull := issue.PullRequest
|
|
|
|
|
|
|
|
|
|
|
|
mergeBaseCommitID := GetMergedBaseCommitID(ctx, issue)
|
|
|
|
mergeBaseCommitID := GetMergedBaseCommitID(ctx, issue)
|
|
|
|
|
|
|
|
|
|
|
|
if ctx.Written() {
|
|
|
|
if mergeBaseCommitID == "" {
|
|
|
|
return
|
|
|
|
|
|
|
|
} else if mergeBaseCommitID == "" {
|
|
|
|
|
|
|
|
ctx.NotFound("PullFiles", nil)
|
|
|
|
ctx.NotFound("PullFiles", nil)
|
|
|
|
return
|
|
|
|
return
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -702,8 +703,8 @@ type pullCommitList struct {
|
|
|
|
|
|
|
|
|
|
|
|
// GetPullCommits get all commits for given pull request
|
|
|
|
// GetPullCommits get all commits for given pull request
|
|
|
|
func GetPullCommits(ctx *context.Context) {
|
|
|
|
func GetPullCommits(ctx *context.Context) {
|
|
|
|
issue := checkPullInfo(ctx)
|
|
|
|
issue, ok := getPullInfo(ctx)
|
|
|
|
if ctx.Written() {
|
|
|
|
if !ok {
|
|
|
|
return
|
|
|
|
return
|
|
|
|
}
|
|
|
|
}
|
|
|
|
resp := &pullCommitList{}
|
|
|
|
resp := &pullCommitList{}
|
|
|
@ -735,8 +736,8 @@ func ViewPullCommits(ctx *context.Context) {
|
|
|
|
ctx.Data["PageIsPullList"] = true
|
|
|
|
ctx.Data["PageIsPullList"] = true
|
|
|
|
ctx.Data["PageIsPullCommits"] = true
|
|
|
|
ctx.Data["PageIsPullCommits"] = true
|
|
|
|
|
|
|
|
|
|
|
|
issue := checkPullInfo(ctx)
|
|
|
|
issue, ok := getPullInfo(ctx)
|
|
|
|
if ctx.Written() {
|
|
|
|
if !ok {
|
|
|
|
return
|
|
|
|
return
|
|
|
|
}
|
|
|
|
}
|
|
|
|
pull := issue.PullRequest
|
|
|
|
pull := issue.PullRequest
|
|
|
@ -779,8 +780,8 @@ func viewPullFiles(ctx *context.Context, specifiedStartCommit, specifiedEndCommi
|
|
|
|
ctx.Data["PageIsPullList"] = true
|
|
|
|
ctx.Data["PageIsPullList"] = true
|
|
|
|
ctx.Data["PageIsPullFiles"] = true
|
|
|
|
ctx.Data["PageIsPullFiles"] = true
|
|
|
|
|
|
|
|
|
|
|
|
issue := checkPullInfo(ctx)
|
|
|
|
issue, ok := getPullInfo(ctx)
|
|
|
|
if ctx.Written() {
|
|
|
|
if !ok {
|
|
|
|
return
|
|
|
|
return
|
|
|
|
}
|
|
|
|
}
|
|
|
|
pull := issue.PullRequest
|
|
|
|
pull := issue.PullRequest
|
|
|
@ -1016,8 +1017,8 @@ func ViewPullFilesForAllCommitsOfPr(ctx *context.Context) {
|
|
|
|
|
|
|
|
|
|
|
|
// UpdatePullRequest merge PR's baseBranch into headBranch
|
|
|
|
// UpdatePullRequest merge PR's baseBranch into headBranch
|
|
|
|
func UpdatePullRequest(ctx *context.Context) {
|
|
|
|
func UpdatePullRequest(ctx *context.Context) {
|
|
|
|
issue := checkPullInfo(ctx)
|
|
|
|
issue, ok := getPullInfo(ctx)
|
|
|
|
if ctx.Written() {
|
|
|
|
if !ok {
|
|
|
|
return
|
|
|
|
return
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if issue.IsClosed {
|
|
|
|
if issue.IsClosed {
|
|
|
@ -1101,8 +1102,8 @@ func UpdatePullRequest(ctx *context.Context) {
|
|
|
|
// MergePullRequest response for merging pull request
|
|
|
|
// MergePullRequest response for merging pull request
|
|
|
|
func MergePullRequest(ctx *context.Context) {
|
|
|
|
func MergePullRequest(ctx *context.Context) {
|
|
|
|
form := web.GetForm(ctx).(*forms.MergePullRequestForm)
|
|
|
|
form := web.GetForm(ctx).(*forms.MergePullRequestForm)
|
|
|
|
issue := checkPullInfo(ctx)
|
|
|
|
issue, ok := getPullInfo(ctx)
|
|
|
|
if ctx.Written() {
|
|
|
|
if !ok {
|
|
|
|
return
|
|
|
|
return
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -1308,8 +1309,8 @@ func MergePullRequest(ctx *context.Context) {
|
|
|
|
|
|
|
|
|
|
|
|
// CancelAutoMergePullRequest cancels a scheduled pr
|
|
|
|
// CancelAutoMergePullRequest cancels a scheduled pr
|
|
|
|
func CancelAutoMergePullRequest(ctx *context.Context) {
|
|
|
|
func CancelAutoMergePullRequest(ctx *context.Context) {
|
|
|
|
issue := checkPullInfo(ctx)
|
|
|
|
issue, ok := getPullInfo(ctx)
|
|
|
|
if ctx.Written() {
|
|
|
|
if !ok {
|
|
|
|
return
|
|
|
|
return
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -1447,8 +1448,8 @@ func CompareAndPullRequestPost(ctx *context.Context) {
|
|
|
|
|
|
|
|
|
|
|
|
// CleanUpPullRequest responses for delete merged branch when PR has been merged
|
|
|
|
// CleanUpPullRequest responses for delete merged branch when PR has been merged
|
|
|
|
func CleanUpPullRequest(ctx *context.Context) {
|
|
|
|
func CleanUpPullRequest(ctx *context.Context) {
|
|
|
|
issue := checkPullInfo(ctx)
|
|
|
|
issue, ok := getPullInfo(ctx)
|
|
|
|
if ctx.Written() {
|
|
|
|
if !ok {
|
|
|
|
return
|
|
|
|
return
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|