diff --git a/mercurial/context.py b/mercurial/context.py --- a/mercurial/context.py +++ b/mercurial/context.py @@ -461,6 +461,12 @@ class basefilectx(object): def __repr__(self): return "<%s %s>" % (type(self).__name__, str(self)) + def __hash__(self): + try: + return hash((self._path, self._filenode)) + except AttributeError: + return id(self) + class filectx(basefilectx): """A filecontext object makes access to data related to a particular filerevision convenient.""" @@ -510,12 +516,6 @@ class filectx(basefilectx): # considered when solving linkrev issue are on the table. return changectx(self._repo.unfiltered(), self._changeid) - def __hash__(self): - try: - return hash((self._path, self._filenode)) - except AttributeError: - return id(self) - def __eq__(self, other): try: return (self._path == other._path