summaryrefslogtreecommitdiffstats
path: root/modules/validation/binding.go
diff options
context:
space:
mode:
Diffstat (limited to 'modules/validation/binding.go')
-rw-r--r--modules/validation/binding.go12
1 files changed, 9 insertions, 3 deletions
diff --git a/modules/validation/binding.go b/modules/validation/binding.go
index 783499e69a..3f671890b6 100644
--- a/modules/validation/binding.go
+++ b/modules/validation/binding.go
@@ -44,12 +44,18 @@ func addGitRefNameBindingRule() {
}
// Additional rules as described at https://www.kernel.org/pub/software/scm/git/docs/git-check-ref-format.html
if strings.HasPrefix(str, "/") || strings.HasSuffix(str, "/") ||
- strings.HasPrefix(str, ".") || strings.HasSuffix(str, ".") ||
- strings.HasSuffix(str, ".lock") ||
- strings.Contains(str, "..") || strings.Contains(str, "//") {
+ strings.HasSuffix(str, ".") || strings.Contains(str, "..") ||
+ strings.Contains(str, "//") {
errs.Add([]string{name}, ErrGitRefName, "GitRefName")
return false, errs
}
+ parts := strings.Split(str, "/")
+ for _, part := range parts {
+ if strings.HasSuffix(part, ".lock") || strings.HasPrefix(part, ".") {
+ errs.Add([]string{name}, ErrGitRefName, "GitRefName")
+ return false, errs
+ }
+ }
return true, errs
},