From 9eb61b77acecfb8702dfee287690c4b7329e60fc Mon Sep 17 00:00:00 2001 From: yp05327 <576951401@qq.com> Date: Sat, 25 Feb 2023 01:56:41 +0900 Subject: [PATCH] Redirect to the commit page after applying patch (#23056) Fixes https://github.com/go-gitea/gitea/issues/22621 --- routers/web/repo/patch.go | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/routers/web/repo/patch.go b/routers/web/repo/patch.go index 0ffec0c4ea46..efb4662496c3 100644 --- a/routers/web/repo/patch.go +++ b/routers/web/repo/patch.go @@ -27,8 +27,6 @@ func NewDiffPatch(ctx *context.Context) { ctx.Data["PageIsPatch"] = true - ctx.Data["TreePath"] = "" - ctx.Data["commit_summary"] = "" ctx.Data["commit_message"] = "" if canCommit { @@ -54,7 +52,6 @@ func NewDiffPatchPost(ctx *context.Context) { 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 ctx.Data["commit_summary"] = form.CommitSummary @@ -89,13 +86,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) @@ -114,6 +112,6 @@ func NewDiffPatchPost(ctx *context.Context) { if form.CommitChoice == frmCommitChoiceNewBranch && ctx.Repo.Repository.UnitEnabled(ctx, 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) } }