diff mercurial/changelog.py @ 24662:b5cd8c2f6e65

changelog: inline revlog.__contains__ in case it is used in hot loop Currently __contains__ is called only by "rev()" revset, but "x in cl" is a function that is likely to be used in hot loop. revlog.__contains__ is simple enough to duplicate to changelog, so just inline it.
author Yuya Nishihara <yuya@tcha.org>
date Sat, 04 Apr 2015 22:30:59 +0900
parents 828dc8db5515
children 8678b1eafbcf
line wrap: on
line diff
--- a/mercurial/changelog.py	Wed Apr 08 02:56:19 2015 +0900
+++ b/mercurial/changelog.py	Sat Apr 04 22:30:59 2015 +0900
@@ -145,7 +145,7 @@
 
     def __contains__(self, rev):
         """filtered version of revlog.__contains__"""
-        return (revlog.revlog.__contains__(self, rev)
+        return (0 <= rev < len(self)
                 and rev not in self.filteredrevs)
 
     def __iter__(self):