diff options
author | Zettat123 <zettat123@gmail.com> | 2023-02-20 19:30:41 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-20 19:30:41 +0800 |
commit | 9a83aa28a351c9af1731a94ce0e1b5d3842db4e8 (patch) | |
tree | 009e05aba7fb05586abf1ce4283373e3965807f6 /services | |
parent | 3596df52c09831f7f39f8416264ff267954f35a0 (diff) | |
download | gitea-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.go | 1 |
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 |