# HG changeset patch # User Yuya Nishihara # Date 2017-05-28 06:45:52 # Node ID 2e431fb98c6b539be848d91a4a379023b26aad58 # Parent 50eaccb8353fafbc2b03f9aee4c3520c7a828cbe policy: extend API version checks for cffi This is just a stub for future extension. I could add a version constant to CFFI modules by putting it to both ffi.set_source() and ffi.cdef(), but that doesn't seem right. So for now, cffi modules will be explicitly unversioned (i.e. version constant must be undefined or set to None.) We can revisit it later when we need to consider CFFI support more seriously. diff --git a/mercurial/policy.py b/mercurial/policy.py --- a/mercurial/policy.py +++ b/mercurial/policy.py @@ -72,16 +72,16 @@ def _importfrom(pkgname, modname): # keep in sync with "version" in C modules _cextversions = { - r'base85': 1, - r'bdiff': 1, - r'diffhelpers': 1, - r'mpatch': 1, - r'osutil': 1, - r'parsers': 1, + (r'cext', r'base85'): 1, + (r'cext', r'bdiff'): 1, + (r'cext', r'diffhelpers'): 1, + (r'cext', r'mpatch'): 1, + (r'cext', r'osutil'): 1, + (r'cext', r'parsers'): 1, } def _checkmod(pkgname, modname, mod): - expected = _cextversions.get(modname) + expected = _cextversions.get((pkgname, modname)) actual = getattr(mod, r'version', None) if actual != expected: raise ImportError(r'cannot import module %s.%s '