From 78118a3b029ee4eb140d47be22e86df17253a786 Mon Sep 17 00:00:00 2001 From: Jimmy Praet <jimmy.praet@telenet.be> Date: Tue, 13 Jul 2021 01:26:25 +0200 Subject: Add checkbox to delete pull branch after successful merge (#16049) * Add checkbox to delete pull branch after successful merge * Omit DeleteBranchAfterMerge field in json * Log a warning instead of error when PR head branch deleted * Add DefaultDeleteBranchAfterMerge to PullRequestConfig * Add support for delete_branch_after_merge via API * Fix for API: the branch should be deleted from the HEAD repo If head and base repo are the same, reuse the already opened ctx.Repo.GitRepo * Don't delegate to CleanupBranch, only reuse branch deletion code CleanupBranch contains too much logic that has already been performed by the Merge * Reuse gitrepo in MergePullRequest Co-authored-by: Andrew Thornton <art27@cantab.net> --- templates/repo/issue/view_content/pull.tmpl | 30 +++++++++++++++++++++++++++++ templates/repo/settings/options.tmpl | 6 ++++++ 2 files changed, 36 insertions(+) (limited to 'templates/repo') diff --git a/templates/repo/issue/view_content/pull.tmpl b/templates/repo/issue/view_content/pull.tmpl index 3bdec4becb..fcb3597ae8 100644 --- a/templates/repo/issue/view_content/pull.tmpl +++ b/templates/repo/issue/view_content/pull.tmpl @@ -315,6 +315,12 @@ <button class="ui button merge-cancel"> {{$.i18n.Tr "cancel"}} </button> + {{if .IsPullBranchDeletable}} + <div class="ui checkbox ml-2"> + <input name="delete_branch_after_merge" type="checkbox" {{if $prUnit.PullRequestsConfig.DefaultDeleteBranchAfterMerge}}checked{{end}}> + <label>{{$.i18n.Tr "repo.branch.delete" .HeadTarget}}</label> + </div> + {{end}} </form> </div> {{end}} @@ -328,6 +334,12 @@ <button class="ui button merge-cancel"> {{$.i18n.Tr "cancel"}} </button> + {{if .IsPullBranchDeletable}} + <div class="ui checkbox ml-2"> + <input name="delete_branch_after_merge" type="checkbox" {{if $prUnit.PullRequestsConfig.DefaultDeleteBranchAfterMerge}}checked{{end}}> + <label>{{$.i18n.Tr "repo.branch.delete" .HeadTarget}}</label> + </div> + {{end}} </form> </div> {{end}} @@ -347,6 +359,12 @@ <button class="ui button merge-cancel"> {{$.i18n.Tr "cancel"}} </button> + {{if .IsPullBranchDeletable}} + <div class="ui checkbox ml-2"> + <input name="delete_branch_after_merge" type="checkbox" {{if $prUnit.PullRequestsConfig.DefaultDeleteBranchAfterMerge}}checked{{end}}> + <label>{{$.i18n.Tr "repo.branch.delete" .HeadTarget}}</label> + </div> + {{end}} </form> </div> {{end}} @@ -366,6 +384,12 @@ <button class="ui button merge-cancel"> {{$.i18n.Tr "cancel"}} </button> + {{if .IsPullBranchDeletable}} + <div class="ui checkbox ml-2"> + <input name="delete_branch_after_merge" type="checkbox" {{if $prUnit.PullRequestsConfig.DefaultDeleteBranchAfterMerge}}checked{{end}}> + <label>{{$.i18n.Tr "repo.branch.delete" .HeadTarget}}</label> + </div> + {{end}} </form> </div> {{end}} @@ -382,6 +406,12 @@ <button class="ui button merge-cancel"> {{$.i18n.Tr "cancel"}} </button> + {{if .IsPullBranchDeletable}} + <div class="ui checkbox ml-2"> + <input name="delete_branch_after_merge" type="checkbox" {{if $prUnit.PullRequestsConfig.DefaultDeleteBranchAfterMerge}}checked{{end}}> + <label>{{$.i18n.Tr "repo.branch.delete" .HeadTarget}}</label> + </div> + {{end}} </form> </div> {{end}} diff --git a/templates/repo/settings/options.tmpl b/templates/repo/settings/options.tmpl index eb76a3b720..054df7c368 100644 --- a/templates/repo/settings/options.tmpl +++ b/templates/repo/settings/options.tmpl @@ -445,6 +445,12 @@ <label>{{.i18n.Tr "repo.settings.pulls.enable_autodetect_manual_merge"}}</label> </div> </div> + <div class="field"> + <div class="ui checkbox"> + <input name="default_delete_branch_after_merge" type="checkbox" {{if or (not $pullRequestEnabled) ($prUnit.PullRequestsConfig.DefaultDeleteBranchAfterMerge)}}checked{{end}}> + <label>{{.i18n.Tr "repo.settings.pulls.default_delete_branch_after_merge"}}</label> + </div> + </div> <div class="field"> <p> {{.i18n.Tr "repo.settings.default_merge_style_desc"}} -- cgit v1.2.3