Mercurial > hgsubversion
changeset 819:e30ff6d5feff
Fix import based feature detection
With demandimport, the following:
from mercurial.util import canonpath
creates an 'unloaded module' if canonpath is not a mercurial.util attribute,
instead of raising AttributeError or ImportError, which defeats tests like:
try:
from mercurial.util import canonpath
except (AttributeError, ImportError):
from mercurial.scmutil import canonpath
Instead, we reference the attribute explicitely, making either the modules to
load or to fail loading.
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Fri, 08 Jul 2011 13:57:30 +0200 |
parents | 9aed3bfc92d6 |
children | 09f7c1c09207 |
files | hgsubversion/svnexternals.py hgsubversion/wrappers.py |
diffstat | 2 files changed, 6 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/hgsubversion/svnexternals.py +++ b/hgsubversion/svnexternals.py @@ -14,9 +14,10 @@ except (ImportError, AttributeError), e: passpegrev = True # see svnsubrepo below try: - from mercurial.util import canonpath + canonpath = hgutil.canonpath except (ImportError, AttributeError): - from mercurial.scmutil import canonpath + from mercurial import scmutil + canonpath = scmutil.canonpath passpegrev = False import util
--- a/hgsubversion/wrappers.py +++ b/hgsubversion/wrappers.py @@ -16,9 +16,10 @@ import svnrepo import util try: - from mercurial.scmutil import revpair + from mercurial import scmutil + revpair = scmutil.revpair except ImportError: - from mercurial.cmdutil import revpair + revpair = cmdutil.revpair pullfuns = { True: replay.convert_rev,