mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Redirect to the commit page after applying patch (#23056)
Fixes https://github.com/go-gitea/gitea/issues/22621
This commit is contained in:
		@@ -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)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user