Mercurial > public > mercurial-scm > hg
comparison mercurial/context.py @ 19547:0537c0cfd87c
basectx: move __eq__ from changectx
We also add type checking for extra protection.
author | Sean Farley <sean.michael.farley@gmail.com> |
---|---|
date | Mon, 05 Aug 2013 17:00:09 -0500 |
parents | a45cf68dd9a2 |
children | 730fdcaa791d |
comparison
equal
deleted
inserted
replaced
19546:a45cf68dd9a2 | 19547:0537c0cfd87c |
---|---|
41 def __int__(self): | 41 def __int__(self): |
42 return self.rev() | 42 return self.rev() |
43 | 43 |
44 def __repr__(self): | 44 def __repr__(self): |
45 return "<%s %s>" % (type(self).__name__, str(self)) | 45 return "<%s %s>" % (type(self).__name__, str(self)) |
46 | |
47 def __eq__(self, other): | |
48 try: | |
49 return type(self) == type(other) and self._rev == other._rev | |
50 except AttributeError: | |
51 return False | |
46 | 52 |
47 def rev(self): | 53 def rev(self): |
48 return self._rev | 54 return self._rev |
49 def node(self): | 55 def node(self): |
50 return self._node | 56 return self._node |
159 def __hash__(self): | 165 def __hash__(self): |
160 try: | 166 try: |
161 return hash(self._rev) | 167 return hash(self._rev) |
162 except AttributeError: | 168 except AttributeError: |
163 return id(self) | 169 return id(self) |
164 | |
165 def __eq__(self, other): | |
166 try: | |
167 return self._rev == other._rev | |
168 except AttributeError: | |
169 return False | |
170 | 170 |
171 def __ne__(self, other): | 171 def __ne__(self, other): |
172 return not (self == other) | 172 return not (self == other) |
173 | 173 |
174 def __nonzero__(self): | 174 def __nonzero__(self): |