<div dir="ltr">diff --git a/mercurial/changelog.py b/mercurial/changelog.py<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
--- a/mercurial/changelog.py<br>
+++ b/mercurial/changelog.py<br>
@@ -143,6 +143,11 @@ class changelog(revlog.revlog):<br>
             if i not in self.filteredrevs:<br>
                 return self.node(i)<br>
<br>
+    def __contains__(self, rev):<br>
+        """filtered version of revlog.__contains__"""<br>
+        return (revlog.revlog.__contains__(self, rev)<br>
+                and rev not in self.filteredrevs)<br>
+<br></blockquote><div><br></div><div>What you've implemented here is changelog.hasunfilteredrev(). I'm not convinced __contains__ should be implemented:<br><br></div><div>a) to only accept numeric revisions (what about nodes)<br>b) to only operate on unfiltered revs<br><br></div><div>"a" applies to revlog.__contains__ as well.<br></div></div></div></div>