diff --git a/go.mod b/go.mod index 00a898d84..dd49fa31e 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.24 toolchain go1.24.1 require ( - github.com/bmatcuk/doublestar/v4 v4.9.0 + github.com/bmatcuk/doublestar/v4 v4.9.1 github.com/go-git/go-git/v5 v5.16.2 github.com/hashicorp/go-retryablehttp v0.7.8 github.com/iancoleman/strcase v0.3.0 diff --git a/go.sum b/go.sum index 4ac0d18ff..43d9d8575 100644 --- a/go.sum +++ b/go.sum @@ -44,8 +44,8 @@ github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFI github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/bmatcuk/doublestar/v4 v4.9.0 h1:DBvuZxjdKkRP/dr4GVV4w2fnmrk5Hxc90T51LZjv0JA= -github.com/bmatcuk/doublestar/v4 v4.9.0/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= +github.com/bmatcuk/doublestar/v4 v4.9.1 h1:X8jg9rRZmJd4yRy7ZeNDRnM+T3ZfHv15JiBJ/avrEXE= +github.com/bmatcuk/doublestar/v4 v4.9.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= diff --git a/vendor/github.com/bmatcuk/doublestar/v4/match.go b/vendor/github.com/bmatcuk/doublestar/v4/match.go index 3aa10f384..1ff50f617 100644 --- a/vendor/github.com/bmatcuk/doublestar/v4/match.go +++ b/vendor/github.com/bmatcuk/doublestar/v4/match.go @@ -325,14 +325,29 @@ func matchRune(a, b rune, caseInsensitive bool) bool { func isZeroLengthPattern(pattern string, separator rune, validate bool) (ret bool, err error) { // `/**`, `**/`, and `/**/` are special cases - a pattern such as `path/to/a/**` or `path/to/a/**/` - // *should* match `path/to/a` because `a` might be a directory - if pattern == "" || - pattern == "*" || - pattern == "**" || - pattern == string(separator)+"**" || - pattern == "**"+string(separator) || - pattern == string(separator)+"**"+string(separator) { + // *should* match `path/to/a` because `a` might be a directory. + // This code is optimized to avoid string concatenation, giving a little performance bump. + switch len(pattern) { + case 0: return true, nil + case 1: + if pattern == "*" { + return true, nil + } + case 2: + if pattern == "**" { + return true, nil + } + case 3: + if pattern[1:] == "**" && rune(pattern[0]) == separator { + return true, nil + } else if pattern[:2] == "**" && rune(pattern[2]) == separator { + return true, nil + } + case 4: + if pattern[1:3] == "**" && rune(pattern[0]) == separator && rune(pattern[3]) == separator { + return true, nil + } } if pattern[0] == '{' { diff --git a/vendor/modules.txt b/vendor/modules.txt index 3cbcbdcfb..c19247ed2 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -32,7 +32,7 @@ github.com/ProtonMail/go-crypto/openpgp/packet github.com/ProtonMail/go-crypto/openpgp/s2k github.com/ProtonMail/go-crypto/openpgp/x25519 github.com/ProtonMail/go-crypto/openpgp/x448 -# github.com/bmatcuk/doublestar/v4 v4.9.0 +# github.com/bmatcuk/doublestar/v4 v4.9.1 ## explicit; go 1.16 github.com/bmatcuk/doublestar/v4 # github.com/cloudflare/circl v1.6.1