diff mercurial/context.py @ 6469:fb502719c75c

python 2.6 compatibility: add __hash__ to classes that have __eq__
author Paul Moore <p.f.moore@gmail.com>
date Fri, 04 Apr 2008 22:41:17 +0200
parents 90a4329a6b4a
children 0c611355481b
line wrap: on
line diff
--- a/mercurial/context.py	Fri Apr 04 22:18:38 2008 +0200
+++ b/mercurial/context.py	Fri Apr 04 22:41:17 2008 +0200
@@ -34,6 +34,12 @@
     def __repr__(self):
         return "<changectx %s>" % str(self)
 
+    def __hash__(self):
+        try:
+            return hash(self._rev)
+        except AttributeError:
+            return id(self)
+
     def __eq__(self, other):
         try:
             return self._rev == other._rev
@@ -210,6 +216,12 @@
     def __repr__(self):
         return "<filectx %s>" % str(self)
 
+    def __hash__(self):
+        try:
+            return hash((self._path, self._fileid))
+        except AttributeError:
+            return id(self)
+
     def __eq__(self, other):
         try:
             return (self._path == other._path