>From the 1.10 draft release notes: > All wildcards apply to full path segments only, i.e. * never matches > /, except for the case where /**/ matches zero or more path segments. > For example, /*/**/* will match any path which contains at least > 2 segments and is equivalent to /**/*/* as well as /*/*/**.
Are «/*/**/*» «/**/*/*» «/*/*/**» really equivalent? I would have expected the first two to match any node except / and /'s immediate children, but I wouldn't expect the third form to match /trunk/iota where iota is a file, since the pattern has a trailing slash after the non-optional second component. Testing this in cd $(mktemp -d) mkdir -p foo/bar , I see that neither vim nor zsh finds any matches for */*/**, meaning they don't interpret ** as "zero or more" path components in this pattern. I suppose they only treat ** in this way when it appears with slashes immediately before and after it. Cheers, Daniel