From: Nguyen Thai Ngoc Duy Date: Thu, 04 Oct 2012 11:46:07 GMT Subject: Re: What's cooking in git.git (Oct 2012, #01; Tue, 2) Message-ID: In-Reply-To: <506D5837.6020708@alum.mit.edu> On Thu, Oct 4, 2012 at 4:34 PM, Michael Haggerty wrote: On Thu, Oct 4, 2012 at 4:34 PM, Michael Haggerty 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