context: remove seemingly impossible code branch
authorMartin von Zweigbergk <martinvonz@google.com>
Mon, 19 Nov 2018 23:08:09 -0800
changeset 40711 1423ff45c322
parent 40710 d6a13f6db69c
child 40712 557d3509da55
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
mercurial/context.py
--- a/mercurial/context.py	Mon Nov 19 21:11:08 2018 +0300
+++ b/mercurial/context.py	Mon Nov 19 23:08:09 2018 -0800
@@ -562,9 +562,7 @@
 
     @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