[PATCH 11 of 41] basefilectx: move __eq__ from filectx
Sean Farley
sean.michael.farley at gmail.com
Mon Aug 12 11:27:07 CDT 2013
# HG changeset patch
# User Sean Farley <sean.michael.farley at gmail.com>
# Date 1376279343 18000
# Sun Aug 11 22:49:03 2013 -0500
# Node ID 071cc2531b45dae172318a9e2cffc212361d6d13
# Parent adb67ffaa74e1ad123156b72de8c22bfe0e564f8
basefilectx: move __eq__ from filectx
We also add type checking for extra protection.
diff --git a/mercurial/context.py b/mercurial/context.py
--- a/mercurial/context.py
+++ b/mercurial/context.py
@@ -465,10 +465,17 @@
try:
return hash((self._path, self._filenode))
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."""
def __init__(self, repo, path, changeid=None, fileid=None,
filelog=None, changectx=None):
@@ -514,17 +521,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 __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)
def filectx(self, fileid):
'''opens an arbitrary revision of the file without
More information about the Mercurial-devel
mailing list