diff options
author | Máximo Cuadros <mcuadros@gmail.com> | 2018-09-10 11:33:35 +0200 |
---|---|---|
committer | Máximo Cuadros <mcuadros@gmail.com> | 2018-09-10 11:33:35 +0200 |
commit | bf0593d86ef73f28d3eb097c02d53a6a036f52f7 (patch) | |
tree | 2cfe20ab4b2ee85280aeabba40fd004d88e8b47f /plumbing/format/gitignore | |
parent | f8adfff71d844df7efa1367b7958e8f26411aaf9 (diff) | |
parent | a2d62f58ea626bb9f41de6431f6f18ca92cf78a0 (diff) | |
download | go-git-bf0593d86ef73f28d3eb097c02d53a6a036f52f7.tar.gz |
Merge branch 'master' of github.com:src-d/go-git into f-add-tagging-support
Diffstat (limited to 'plumbing/format/gitignore')
-rw-r--r-- | plumbing/format/gitignore/pattern.go | 3 | ||||
-rw-r--r-- | plumbing/format/gitignore/pattern_test.go | 6 |
2 files changed, 9 insertions, 0 deletions
diff --git a/plumbing/format/gitignore/pattern.go b/plumbing/format/gitignore/pattern.go index 2603352..098cb50 100644 --- a/plumbing/format/gitignore/pattern.go +++ b/plumbing/format/gitignore/pattern.go @@ -133,6 +133,9 @@ func (p *pattern) globMatch(path []string, isDir bool) bool { } else if match { matched = true break + } else if len(path) == 0 { + // if nothing left then fail + matched = false } } } else { diff --git a/plumbing/format/gitignore/pattern_test.go b/plumbing/format/gitignore/pattern_test.go index f94cef3..c410442 100644 --- a/plumbing/format/gitignore/pattern_test.go +++ b/plumbing/format/gitignore/pattern_test.go @@ -281,3 +281,9 @@ func (s *PatternSuite) TestGlobMatch_wrongPattern_onTraversal_mismatch(c *C) { r := p.Match([]string{"value", "head", "vol["}, false) c.Assert(r, Equals, NoMatch) } + +func (s *PatternSuite) TestGlobMatch_issue_923(c *C) { + p := ParsePattern("**/android/**/GeneratedPluginRegistrant.java", nil) + r := p.Match([]string{"packages", "flutter_tools", "lib", "src", "android", "gradle.dart"}, false) + c.Assert(r, Equals, NoMatch) +} |