From ef88cdb7e73fdb626d3b8ce4c7efc938f51c8fea Mon Sep 17 00:00:00 2001 From: silverwind Date: Mon, 23 Mar 2026 18:34:45 +0100 Subject: [PATCH] Add `DEFAULT_DELETE_BRANCH_AFTER_MERGE` setting (#36917) Add this config option, applying to new repos: ```ini [repository.pull-request] DEFAULT_DELETE_BRANCH_AFTER_MERGE = true ``` Defaults to `false`, preserving current behavior. --------- Co-authored-by: Claude (Opus 4.6) --- custom/conf/app.example.ini | 3 +++ models/repo/repo_unit.go | 1 + modules/setting/repository.go | 2 ++ 3 files changed, 6 insertions(+) diff --git a/custom/conf/app.example.ini b/custom/conf/app.example.ini index 9297f3d062..803231ff12 100644 --- a/custom/conf/app.example.ini +++ b/custom/conf/app.example.ini @@ -1162,6 +1162,9 @@ LEVEL = Info ;; Delay mergeable check until page view or API access, for pull requests that have not been updated in the specified days when their base branches get updated. ;; Use "-1" to always check all pull requests (old behavior). Use "0" to always delay the checks. ;DELAY_CHECK_FOR_INACTIVE_DAYS = 7 +;; +;; Set the default value for "Delete pull request branch after merge by default" for new repositories +;DEFAULT_DELETE_BRANCH_AFTER_MERGE = false ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/models/repo/repo_unit.go b/models/repo/repo_unit.go index 797b34de69..18ebd6be54 100644 --- a/models/repo/repo_unit.go +++ b/models/repo/repo_unit.go @@ -142,6 +142,7 @@ func DefaultPullRequestsConfig() *PullRequestsConfig { AllowRebaseUpdate: true, DefaultAllowMaintainerEdit: true, } + cfg.DefaultDeleteBranchAfterMerge = setting.Repository.PullRequest.DefaultDeleteBranchAfterMerge cfg.DefaultMergeStyle = MergeStyle(setting.Repository.PullRequest.DefaultMergeStyle) cfg.DefaultMergeStyle = util.IfZero(cfg.DefaultMergeStyle, MergeStyleMerge) return cfg diff --git a/modules/setting/repository.go b/modules/setting/repository.go index 662e03598b..f4e45d4702 100644 --- a/modules/setting/repository.go +++ b/modules/setting/repository.go @@ -89,6 +89,7 @@ var ( TestConflictingPatchesWithGitApply bool RetargetChildrenOnMerge bool DelayCheckForInactiveDays int + DefaultDeleteBranchAfterMerge bool } `ini:"repository.pull-request"` // Issue Setting @@ -213,6 +214,7 @@ var ( TestConflictingPatchesWithGitApply bool RetargetChildrenOnMerge bool DelayCheckForInactiveDays int + DefaultDeleteBranchAfterMerge bool }{ WorkInProgressPrefixes: []string{"WIP:", "[WIP]"}, // Same as GitHub. See