diff --git a/hgext/remotenames.py b/hgext/remotenames.py --- a/hgext/remotenames.py +++ b/hgext/remotenames.py @@ -22,7 +22,12 @@ from __future__ import absolute_import -import UserDict +try: + import UserDict + dictmixin = UserDict.DictMixin +except ImportError: + import collections + dictmixin = collections.MutableMapping from mercurial.i18n import _ @@ -57,7 +62,7 @@ default=True, ) -class lazyremotenamedict(UserDict.DictMixin): +class lazyremotenamedict(dictmixin): """ Read-only dict-like Class to lazily resolve remotename entries @@ -110,6 +115,18 @@ else: raise KeyError() + def __iter__(self): + return iter(self.potentialentries) + + def __len__(self): + return len(self.potentialentries) + + def __setitem__(self): + raise NotImplementedError + + def __delitem__(self): + raise NotImplementedError + def _fetchandcache(self, key): if key in self.cache: return self.cache[key]