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>
This commit is contained in:
parent
46a4c6835d
commit
78118a3b02
14 changed files with 182 additions and 44 deletions
|
@ -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}}
|
||||
|
|
|
@ -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"}}
|
||||
|
|
|
@ -14058,6 +14058,11 @@
|
|||
"type": "string",
|
||||
"x-go-name": "DefaultBranch"
|
||||
},
|
||||
"default_delete_branch_after_merge": {
|
||||
"description": "set to `true` to delete pr branch after merge by default",
|
||||
"type": "boolean",
|
||||
"x-go-name": "DefaultDeleteBranchAfterMerge"
|
||||
},
|
||||
"default_merge_style": {
|
||||
"description": "set to a merge style to be used by this repository: \"merge\", \"rebase\", \"rebase-merge\", or \"squash\". `has_pull_requests` must be `true`.",
|
||||
"type": "string",
|
||||
|
@ -15137,6 +15142,10 @@
|
|||
"MergeTitleField": {
|
||||
"type": "string"
|
||||
},
|
||||
"delete_branch_after_merge": {
|
||||
"type": "boolean",
|
||||
"x-go-name": "DeleteBranchAfterMerge"
|
||||
},
|
||||
"force_merge": {
|
||||
"type": "boolean",
|
||||
"x-go-name": "ForceMerge"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue