mirror of
https://github.com/go-gitea/gitea.git
synced 2026-10-19 04:17:43 +02:00
feat(repo): allow deleting protected branches (#39243)
This adds a Branch Deletion setting with three modes: disabled by default, anyone with push access, or a restricted user/team/deploy-key allowlist. The policy applies to Git pushes, API/UI deletion, and post-merge cleanup; the default branch and the pull request target branch remain undeletable. Closes https://github.com/go-gitea/gitea/issues/33305 --------- Co-authored-by: Enoque Duarte <12515551+enoquefcd@users.noreply.github.com> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
21 files changed
+600
-59
No files matched your search
@@ -47,6 +47,10 @@ type BranchProtection struct {
|
||||
ForcePushAllowlistUsernames []string `json:"force_push_allowlist_usernames"`
|
||||
ForcePushAllowlistTeams []string `json:"force_push_allowlist_teams"`
|
||||
ForcePushAllowlistDeployKeys bool `json:"force_push_allowlist_deploy_keys"`
|
||||
EnableDeletion bool `json:"enable_deletion"`
|
||||
EnableDeletionAllowlist bool `json:"enable_deletion_allowlist"`
|
||||
DeletionAllowlistUsernames []string `json:"deletion_allowlist_usernames"`
|
||||
DeletionAllowlistTeams []string `json:"deletion_allowlist_teams"`
|
||||
EnableMergeWhitelist bool `json:"enable_merge_whitelist"`
|
||||
MergeWhitelistUsernames []string `json:"merge_whitelist_usernames"`
|
||||
MergeWhitelistTeams []string `json:"merge_whitelist_teams"`
|
||||
@@ -91,6 +95,10 @@ type CreateBranchProtectionOption struct {
|
||||
ForcePushAllowlistUsernames []string `json:"force_push_allowlist_usernames"`
|
||||
ForcePushAllowlistTeams []string `json:"force_push_allowlist_teams"`
|
||||
ForcePushAllowlistDeployKeys bool `json:"force_push_allowlist_deploy_keys"`
|
||||
EnableDeletion bool `json:"enable_deletion"`
|
||||
EnableDeletionAllowlist bool `json:"enable_deletion_allowlist"`
|
||||
DeletionAllowlistUsernames []string `json:"deletion_allowlist_usernames"`
|
||||
DeletionAllowlistTeams []string `json:"deletion_allowlist_teams"`
|
||||
EnableMergeWhitelist bool `json:"enable_merge_whitelist"`
|
||||
MergeWhitelistUsernames []string `json:"merge_whitelist_usernames"`
|
||||
MergeWhitelistTeams []string `json:"merge_whitelist_teams"`
|
||||
@@ -128,6 +136,10 @@ type EditBranchProtectionOption struct {
|
||||
ForcePushAllowlistUsernames []string `json:"force_push_allowlist_usernames"`
|
||||
ForcePushAllowlistTeams []string `json:"force_push_allowlist_teams"`
|
||||
ForcePushAllowlistDeployKeys *bool `json:"force_push_allowlist_deploy_keys"`
|
||||
EnableDeletion *bool `json:"enable_deletion"`
|
||||
EnableDeletionAllowlist *bool `json:"enable_deletion_allowlist"`
|
||||
DeletionAllowlistUsernames []string `json:"deletion_allowlist_usernames"`
|
||||
DeletionAllowlistTeams []string `json:"deletion_allowlist_teams"`
|
||||
EnableMergeWhitelist *bool `json:"enable_merge_whitelist"`
|
||||
MergeWhitelistUsernames []string `json:"merge_whitelist_usernames"`
|
||||
MergeWhitelistTeams []string `json:"merge_whitelist_teams"`
|
||||
|
||||
Reference in new issue
Block a user