diff options
Diffstat (limited to 'routers/repo/branch.go')
-rw-r--r-- | routers/repo/branch.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/routers/repo/branch.go b/routers/repo/branch.go index fcb6efd010..c3336e598c 100644 --- a/routers/repo/branch.go +++ b/routers/repo/branch.go @@ -5,6 +5,7 @@ package repo import ( + "code.gitea.io/git" "code.gitea.io/gitea/modules/base" "code.gitea.io/gitea/modules/context" ) @@ -30,3 +31,21 @@ func Branches(ctx *context.Context) { ctx.Data["Branches"] = brs ctx.HTML(200, tplBranch) } + +// DeleteBranchPost responses for delete merged branch +func DeleteBranchPost(ctx *context.Context) { + branchName := ctx.Params(":name") + + if err := ctx.Repo.GitRepo.DeleteBranch(branchName, git.DeleteBranchOptions{ + Force: false, + }); err != nil { + ctx.Handle(500, "DeleteBranch", err) + return + } + + redirectTo := ctx.Query("redirect_to") + if len(redirectTo) == 0 { + redirectTo = ctx.Repo.RepoLink + } + ctx.Redirect(redirectTo) +} |