I don't know whether any of the changed areas are hot spots, but you could
change Workspace.py so that the methods like workingctx() are defined like

    if Version.at_least(...):
        def workingctx(self):
            blah
    else:
        def workingctx(self):
            otherblah

so that you wouldn't have to do the version check every time you called
workingctx().

In Version.py, I would probably drop the use of the re module, and just do
a try/except clause in _split_version() around the map() call.

I might also cache hgver (or even the result of at_least()), though if most
of the calls are done only once, then perhaps it's not necessary.

The rest looks fine, as best as I can tell.

Danek

Reply via email to