[patch] syntax:plain for .hgignore
Guido Ostkamp
hg at ostkamp.fastmail.fm
Wed Sep 12 13:54:23 CDT 2007
On Wed, 12 Sep 2007, Jonathan S. Shapiro wrote:
> On Wed, 2007-09-12 at 10:27 -0500, Matt Mackall wrote:
>> # We're using a Python with a tiny regex engine and we
>> # made it explode, so we'll divide the pattern list in two
>> # until it works
>> l = len(pats)
>> if l < 2:
>> raise
>> a, b = matchfn(pats[:l/2], tail), matchfn(pats[l/2:], tail)
>> return lambda s: a(s) or b(s)
>>
>> Each split means an extra regex test, so it won't take many splits to
>> be slower than string matching.
>
> Ahh. Okay, this makes a lot of (reluctant) sense. I remain very confused
> about Guido's case, however, because I can't see how a 620
> line .hgignore generated 5000 calls to sre_compile(). Assuming it had to
> split down to individual lines, it shouldn't have been more than 1670
> calls. I am still failing to understand something here.
Would it help if I provided our .hgignore to you by email?
I would however need to obfuscate some pathnames a bit to protect my
employer interests (sorry about this inconvenience), but I think this
would not change test results.
Please let me know whether you want me to do this.
Regards
Guido
More information about the Mercurial-devel
mailing list