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.
--- 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):