[PATCH 10 of 41] basefilectx: move __hash__ from filectx
Sean Farley
sean.michael.farley at gmail.com
Mon Aug 12 11:27:06 CDT 2013
# HG changeset patch
# User Sean Farley <sean.michael.farley at gmail.com>
# Date 1376279259 18000
# Sun Aug 11 22:47:39 2013 -0500
# Node ID adb67ffaa74e1ad123156b72de8c22bfe0e564f8
# Parent df530f9dbdc05968658a2ec706ecfc24ca79612e
basefilectx: move __hash__ from filectx
diff --git a/mercurial/context.py b/mercurial/context.py
--- a/mercurial/context.py
+++ b/mercurial/context.py
@@ -459,10 +459,16 @@
return "%s@%s" % (self.path(), short(self.node()))
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."""
def __init__(self, repo, path, changeid=None, fileid=None,
filelog=None, changectx=None):
@@ -508,16 +514,10 @@
# Linkrevs have several serious troubles with filtering that are
# complicated to solve. Proper handling of the issue here should be
# 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
and self._filenode == other._filenode)
except AttributeError:
More information about the Mercurial-devel
mailing list