On Thu, Oct 4, 2012 at 4:34 PM, Michael Haggerty <mhagger@xxxxxxxxxxxx> wrote: On Thu, Oct 4, 2012 at 4:34 PM, Michael Haggerty <mhagger@xxxxxxxxxxxx> wrote: > Given that there is no obvious interpretation for what a construct like > "x**y" would mean, and many plausible guesses (most of which sound > rather useless), I suggest that we forbid it. This will make the > feature easier to explain and make .gitignore files that use it easier > to understand. Yep, sounds like a good short term plan. > As for the implementation, it is quite easy to textually convert a glob > pattern, including "**" parts, into a regexp. Or we could introduce regexp syntax as an alternative and let users choose (and pay associated price). Patterns starting with // are never matched (we don't normalize paths in .gitignore). Any patterns started with "//regex:" is followed by regex. Reject all other // patterns for future use. > _filename_char_pattern = r'[^/]' > _glob_patterns = [ > ('?', _filename_char_pattern), > ('/**', r'(/.+)?'), > ('**/', r'(.+/)?'), > ('*', _filename_char_pattern + r'*'), > ] I don't fully understand the rest (never been a big fan of python) but what about bracket expressions like [!abc] and [:alnum:]? -- Duy -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html