view svnwrap/__init__.py @ 225:2117cb0118fe

Get rid of .hg/svn/last_rev: We now calculate the last known revision by iterating over all known revisions and finding the highest number. Theoretically, we might be able to simply read the latest entry, but in practice, that's a bug waiting to happen. For instance, we might want to achieve compatibility with '.hg/shamap' as generated by the ConvertExtension, and it not only cannot offer a guarantee of linearity, but it also allows more than one conversion to source exists. I'd say we have other problems to care about until this turns up as a hotspot in profiling. Such as why we leak circa 100MB of memory per 1000 revisions converted ;)
author Dan Villiom Podlaski Christiansen <danchr@gmail.com>
date Fri, 27 Mar 2009 01:09:36 +0100
parents f2636cfed115
children
line wrap: on
line source

"""This is a special package because it contains (or will contain, as of now)
two parallel implementations of the same code. One implementation, the original,
uses the SWIG Python bindings. That's great, but those leak RAM and have a few
other quirks. There are new, up-and-coming ctypes bindings for Subversion which
look more promising, and are portible backwards to 1.4's libraries. The goal is
to have this file automatically contain the "best" available implementation
without the user having to configure what is actually present.
"""

#try:
#    # we do __import__ here so that the correct items get pulled in. Otherwise
#    # demandimport can make life difficult.
#    __import__('csvn')
#    from svn_ctypes_wrapper import *
#except ImportError, e:
from svn_swig_wrapper import *