summaryrefslogtreecommitdiffstats
path: root/services/forms/repo_form.go
diff options
context:
space:
mode:
authorJimmy Praet <jimmy.praet@telenet.be>2021-07-13 01:26:25 +0200
committerGitHub <noreply@github.com>2021-07-13 01:26:25 +0200
commit78118a3b029ee4eb140d47be22e86df17253a786 (patch)
tree81aaa17946b3bd8086cdb6e23ca4349dea118f50 /services/forms/repo_form.go
parent46a4c6835daf4642074bb1a18a3210b03a64259b (diff)
downloadgitea-78118a3b029ee4eb140d47be22e86df17253a786.tar.gz
gitea-78118a3b029ee4eb140d47be22e86df17253a786.zip
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>
Diffstat (limited to 'services/forms/repo_form.go')
-rw-r--r--services/forms/repo_form.go12
1 files changed, 7 insertions, 5 deletions
diff --git a/services/forms/repo_form.go b/services/forms/repo_form.go
index 71a83a8be3..7c79c4dc21 100644
--- a/services/forms/repo_form.go
+++ b/services/forms/repo_form.go
@@ -151,6 +151,7 @@ type RepoSettingForm struct {
PullsAllowManualMerge bool
PullsDefaultMergeStyle string
EnableAutodetectManualMerge bool
+ DefaultDeleteBranchAfterMerge bool
EnableTimetracker bool
AllowOnlyContributorsToTrackTime bool
EnableIssueDependencies bool
@@ -551,11 +552,12 @@ func (f *InitializeLabelsForm) Validate(req *http.Request, errs binding.Errors)
type MergePullRequestForm struct {
// required: true
// enum: merge,rebase,rebase-merge,squash,manually-merged
- Do string `binding:"Required;In(merge,rebase,rebase-merge,squash,manually-merged)"`
- MergeTitleField string
- MergeMessageField string
- MergeCommitID string // only used for manually-merged
- ForceMerge *bool `json:"force_merge,omitempty"`
+ Do string `binding:"Required;In(merge,rebase,rebase-merge,squash,manually-merged)"`
+ MergeTitleField string
+ MergeMessageField string
+ MergeCommitID string // only used for manually-merged
+ ForceMerge *bool `json:"force_merge,omitempty"`
+ DeleteBranchAfterMerge bool `json:"delete_branch_after_merge,omitempty"`
}
// Validate validates the fields