From patchwork Mon Aug 12 16:27:06 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [10,of,41] basefilectx: move __hash__ from filectx From: Sean Farley X-Patchwork-Id: 2137 Message-Id: To: mercurial-devel@selenic.com Date: Mon, 12 Aug 2013 11:27:06 -0500 # HG changeset patch # User Sean Farley # 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: