# HG changeset patch # User Martin von Zweigbergk # Date 2018-11-20 07:08:09 # Node ID 1423ff45c32254faa95d4e6a64b2c0f35913ac8d # Parent d6a13f6db69cf3c7bf5e9d6a918f5c7dc42f8171 context: remove seemingly impossible code branch I'm not a Python expert, but I can't think of a way that the following branch can ever be hit: def _changeid(self): if r'_changeid' in self.__dict__: return self._changeid It seems to me that if that condition is true, then this function would not have been called. The only exception I can think of is if a reference to the function had been stored beforehand, something like this: c = fctx.__dict__['_changeid'] fctx._changeid c() But that seems like very unlikely code to exist. The condition was added in 921b64e1f7b9 (filecontext: use 'is not None' to check for filelog existence, 2013-05-01) as a "bonus" change (in addition to what the patch was actually about) Differential Revision: https://phab.mercurial-scm.org/D5289 diff --git a/mercurial/context.py b/mercurial/context.py --- a/mercurial/context.py +++ b/mercurial/context.py @@ -562,9 +562,7 @@ class basefilectx(object): @propertycache def _changeid(self): - if r'_changeid' in self.__dict__: - return self._changeid - elif r'_changectx' in self.__dict__: + if r'_changectx' in self.__dict__: return self._changectx.rev() elif r'_descendantrev' in self.__dict__: # this file context was created from a revision with a known