aboutsummaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorZettat123 <zettat123@gmail.com>2023-02-20 19:30:41 +0800
committerGitHub <noreply@github.com>2023-02-20 19:30:41 +0800
commit9a83aa28a351c9af1731a94ce0e1b5d3842db4e8 (patch)
tree009e05aba7fb05586abf1ce4283373e3965807f6 /services
parent3596df52c09831f7f39f8416264ff267954f35a0 (diff)
downloadgitea-9a83aa28a351c9af1731a94ce0e1b5d3842db4e8.tar.gz
gitea-9a83aa28a351c9af1731a94ce0e1b5d3842db4e8.zip
Get rules by id when editing branch protection rule (#22932)
When users rename an existing branch protection rule, a new rule with the new name will be created and the old rule will still exist. ![image](https://user-images.githubusercontent.com/15528715/219276442-d3c001ad-e693-44ec-9ad2-b33f2666b49b.png) --- ![image](https://user-images.githubusercontent.com/15528715/219276478-547c3b93-b3f1-4292-a1ef-c1b7747fe1bb.png) The reason is that the `SettingsProtectedBranchPost` function only get branch protection rule by name before updating or creating a rule. When the rule name changes, the function cannot find the existing rule so it will create a new rule rather than update the existing rule. To fix the bug, the function should get rule by id first. --------- Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Diffstat (limited to 'services')
-rw-r--r--services/forms/repo_form.go1
1 files changed, 1 insertions, 0 deletions
diff --git a/services/forms/repo_form.go b/services/forms/repo_form.go
index ff0916f8e1..374ae0ac5c 100644
--- a/services/forms/repo_form.go
+++ b/services/forms/repo_form.go
@@ -190,6 +190,7 @@ func (f *RepoSettingForm) Validate(req *http.Request, errs binding.Errors) bindi
// ProtectBranchForm form for changing protected branch settings
type ProtectBranchForm struct {
RuleName string `binding:"Required"`
+ RuleID int64
EnablePush string
WhitelistUsers string
WhitelistTeams string