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.
--- a/mercurial/revlog.py Fri Jun 23 12:52:42 2006 -0700
+++ b/mercurial/revlog.py Tue Jun 20 14:57:30 2006 -0300
@@ -477,6 +477,13 @@
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