Skip to content

Commit e6b9834

Browse files
committed
sort non glob protected branch roules by name
1 parent ccb2e12 commit e6b9834

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

models/git/protected_banch_list_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ func TestBranchRuleSort(t *testing.T) {
9292
RuleName: "a",
9393
CreatedUnix: 4,
9494
}}
95-
expect := []string{"c", "b", "a", "a/*", "b/*"}
95+
expect := []string{"a", "b", "c", "a/*", "b/*"}
9696

9797
pbr := ProtectedBranchRules(in)
9898
pbr.sort()

models/git/protected_branch_list.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ package git
66
import (
77
"context"
88
"sort"
9+
"strings"
910

1011
"code.gitea.io/gitea/models/db"
1112
"code.gitea.io/gitea/modules/optional"
@@ -29,7 +30,12 @@ func (rules ProtectedBranchRules) sort() {
2930
rules[i].loadGlob()
3031
rules[j].loadGlob()
3132
if rules[i].isPlainName != rules[j].isPlainName {
32-
return rules[i].isPlainName // plain name comes first, so plain name means "less"
33+
// plain name comes first, so plain name means "less"
34+
return rules[i].isPlainName
35+
}
36+
if rules[i].isPlainName {
37+
// both are plain names so sort alphabetically
38+
return strings.Compare(rules[i].RuleName, rules[j].RuleName) < 0
3339
}
3440
return rules[i].CreatedUnix < rules[j].CreatedUnix
3541
})

0 commit comments

Comments
 (0)