Add revlog.parentrevs function.
authorAlexis S. L. Carvalho <alexis@cecm.usp.br>
Tue, 20 Jun 2006 14:57:30 -0300
changeset 2489 568e58eed096
parent 2488 2785aeb51be4
child 2490 6ff82ec1f4b8
Add revlog.parentrevs function. This allows one to walk the revision graph using only revision numbers, which can be faster than using revision hashes, especially for RevlogNG, where the parents of a revision are stored as revision numbers.
mercurial/revlog.py
--- a/mercurial/revlog.py
+++ b/mercurial/revlog.py
@@ -477,6 +477,13 @@ class revlog(object):
         if self.version == REVLOGV0:
             return d
         return [ self.node(x) for x in d ]
+    def parentrevs(self, rev):
+        if rev == -1:
+            return (-1, -1)
+        d = self.index[rev][-3:-1]
+        if self.version == REVLOGV0:
+            return [ self.rev(x) for x in d ]
+        return d
     def start(self, rev):
         if rev < 0:
             return -1