mercurial/changelog.py
changeset 26005 6f4a280298c1
parent 25922 85f442747153
child 26011 ce77436162a5
--- a/mercurial/changelog.py	Thu Aug 06 21:28:45 2015 -0700
+++ b/mercurial/changelog.py	Thu Aug 06 22:10:31 2015 -0700
@@ -18,6 +18,7 @@
     encoding,
     error,
     revlog,
+    revset,
     util,
 )
 
@@ -184,6 +185,16 @@
         self.rev(self.node(0))
         return self._nodecache
 
+    def reachableroots(self, minroot, heads, roots, includepath=False):
+        reachable = self.index.reachableroots(minroot, heads, roots,
+                                              includepath)
+        if reachable is None:
+            # The C code hasn't been able to initialize a list, something went
+            # really wrong, let's rely on the pure implementation in that case
+            raise AttributeError()
+        else:
+            return revset.baseset(sorted(reachable))
+
     def headrevs(self):
         if self.filteredrevs:
             try: