diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2017-09-14 16:16:22 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-14 16:16:22 +0800 |
commit | 1739e84ac02c0384c04576a00abab9348293f9c7 (patch) | |
tree | 1015e68f36421f274d2e883ff3ddb0cb29b6af71 /modules/util | |
parent | be3319b3d545289b772d7a92b4b62205863954d9 (diff) | |
download | gitea-1739e84ac02c0384c04576a00abab9348293f9c7.tar.gz gitea-1739e84ac02c0384c04576a00abab9348293f9c7.zip |
improve protected branch to add whitelist support (#2451)
* improve protected branch to add whitelist support
* fix lint
* fix style check
* fix tests
* fix description on UI and import
* fix test
* bug fixed
* fix tests and languages
* move isSliceInt64Eq to util pkg; improve function names & typo
Diffstat (limited to 'modules/util')
-rw-r--r-- | modules/util/compare.go | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/modules/util/compare.go b/modules/util/compare.go new file mode 100644 index 0000000000..c03a823d85 --- /dev/null +++ b/modules/util/compare.go @@ -0,0 +1,29 @@ +// Copyright 2017 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package util + +import "sort" + +// Int64Slice attaches the methods of Interface to []int64, sorting in increasing order. +type Int64Slice []int64 + +func (p Int64Slice) Len() int { return len(p) } +func (p Int64Slice) Less(i, j int) bool { return p[i] < p[j] } +func (p Int64Slice) Swap(i, j int) { p[i], p[j] = p[j], p[i] } + +// IsSliceInt64Eq returns if the two slice has the same elements but different sequences. +func IsSliceInt64Eq(a, b []int64) bool { + if len(a) != len(b) { + return false + } + sort.Sort(Int64Slice(a)) + sort.Sort(Int64Slice(b)) + for i := 0; i < len(a); i++ { + if a[i] != b[i] { + return false + } + } + return true +} |