Mercurial > hg-stable
changeset 3715:6cb3aca69cdc
Make context __eq__ handle arbitrary RHS values
author | Brendan Cully <brendan@kublai.com> |
---|---|
date | Mon, 27 Nov 2006 15:27:09 -0800 |
parents | 198173f3957c |
children | ab5600428b08 |
files | mercurial/context.py mercurial/merge.py |
diffstat | 2 files changed, 11 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/context.py Mon Nov 27 15:13:01 2006 -0800 +++ b/mercurial/context.py Mon Nov 27 15:27:09 2006 -0800 @@ -36,7 +36,10 @@ return "<changectx %s>" % str(self) def __eq__(self, other): - return self._rev == other._rev + try: + return self._rev == other._rev + except AttributeError: + return False def __nonzero__(self): return self._rev != nullrev @@ -176,7 +179,11 @@ return "<filectx %s>" % str(self) def __eq__(self, other): - return self._path == other._path and self._changeid == other._changeid + try: + return (self._path == other._path + and self._changeid == other._changeid) + except AttributeError: + return False def filectx(self, fileid): '''opens an arbitrary revision of the file without
--- a/mercurial/merge.py Mon Nov 27 15:13:01 2006 -0800 +++ b/mercurial/merge.py Mon Nov 27 15:27:09 2006 -0800 @@ -139,9 +139,9 @@ ''' check if an apparent pair actually matches ''' c2 = ctx(f2, man[f2]) ca = c.ancestor(c2) - if c == ca or c2 == ca: + if not ca or c == ca or c2 == ca: return - if ca and ca.path() == c.path() or ca.path() == c2.path(): + if ca.path() == c.path() or ca.path() == c2.path(): copy[c.path()] = f2 copy[f2] = c.path()