basefilectx: move __eq__ from filectx
We also add type checking for extra protection.
--- a/mercurial/context.py Sun Aug 11 22:47:39 2013 -0500
+++ b/mercurial/context.py Sun Aug 11 22:49:03 2013 -0500
@@ -467,6 +467,13 @@
except AttributeError:
return id(self)
+ def __eq__(self, other):
+ try:
+ return (type(self) == type(other) and self._path == other._path
+ and self._filenode == other._filenode)
+ except AttributeError:
+ return False
+
class filectx(basefilectx):
"""A filecontext object makes access to data related to a particular
filerevision convenient."""
@@ -516,13 +523,6 @@
# considered when solving linkrev issue are on the table.
return changectx(self._repo.unfiltered(), self._changeid)
- def __eq__(self, other):
- try:
- return (self._path == other._path
- and self._filenode == other._filenode)
- except AttributeError:
- return False
-
def __ne__(self, other):
return not (self == other)