|
|
|
@ -26,6 +26,8 @@ const ( |
|
|
|
|
func NewDiffPatch(ctx *context.Context) { |
|
|
|
|
canCommit := renderCommitRights(ctx) |
|
|
|
|
|
|
|
|
|
ctx.Data["PageIsPatch"] = true |
|
|
|
|
|
|
|
|
|
ctx.Data["TreePath"] = "" |
|
|
|
|
|
|
|
|
|
ctx.Data["commit_summary"] = "" |
|
|
|
@ -52,6 +54,7 @@ func NewDiffPatchPost(ctx *context.Context) { |
|
|
|
|
if form.CommitChoice == frmCommitChoiceNewBranch { |
|
|
|
|
branchName = form.NewBranchName |
|
|
|
|
} |
|
|
|
|
ctx.Data["PageIsPatch"] = true |
|
|
|
|
ctx.Data["TreePath"] = "" |
|
|
|
|
ctx.Data["BranchLink"] = ctx.Repo.RepoLink + "/src/" + ctx.Repo.BranchNameSubURL() |
|
|
|
|
ctx.Data["FileContent"] = form.Content |
|
|
|
@ -87,13 +90,14 @@ func NewDiffPatchPost(ctx *context.Context) { |
|
|
|
|
message += "\n\n" + form.CommitMessage |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if _, err := files.ApplyDiffPatch(ctx, ctx.Repo.Repository, ctx.Doer, &files.ApplyDiffPatchOptions{ |
|
|
|
|
fileResponse, err := files.ApplyDiffPatch(ctx, ctx.Repo.Repository, ctx.Doer, &files.ApplyDiffPatchOptions{ |
|
|
|
|
LastCommitID: form.LastCommit, |
|
|
|
|
OldBranch: ctx.Repo.BranchName, |
|
|
|
|
NewBranch: branchName, |
|
|
|
|
Message: message, |
|
|
|
|
Content: strings.ReplaceAll(form.Content, "\r", ""), |
|
|
|
|
}); err != nil { |
|
|
|
|
}) |
|
|
|
|
if err != nil { |
|
|
|
|
if models.IsErrBranchAlreadyExists(err) { |
|
|
|
|
// User has specified a branch that already exists
|
|
|
|
|
branchErr := err.(models.ErrBranchAlreadyExists) |
|
|
|
@ -112,6 +116,6 @@ func NewDiffPatchPost(ctx *context.Context) { |
|
|
|
|
if form.CommitChoice == frmCommitChoiceNewBranch && ctx.Repo.Repository.UnitEnabled(unit.TypePullRequests) { |
|
|
|
|
ctx.Redirect(ctx.Repo.RepoLink + "/compare/" + util.PathEscapeSegments(ctx.Repo.BranchName) + "..." + util.PathEscapeSegments(form.NewBranchName)) |
|
|
|
|
} else { |
|
|
|
|
ctx.Redirect(ctx.Repo.RepoLink + "/src/branch/" + util.PathEscapeSegments(branchName) + "/" + util.PathEscapeSegments(form.TreePath)) |
|
|
|
|
ctx.Redirect(ctx.Repo.RepoLink + "/commit/" + fileResponse.Commit.SHA) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|