mercurial/revlog.py
changeset 221 2bfe525ef6ca
parent 208 0a37e9c8ad6c
child 224 ccbcc4d76f81
--- a/mercurial/revlog.py
+++ b/mercurial/revlog.py
@@ -156,6 +156,17 @@ class revlog:
     def end(self, rev): return self.start(rev) + self.length(rev)
     def base(self, rev): return self.index[rev][2]
 
+    def heads(self):
+        p = {}
+        h = []
+        for r in range(self.count() - 1, 0, -1):
+            n = self.node(r)
+            if n not in p:
+                h.append(n)
+            for pn in self.parents(n):
+                p[pn] = 1
+        return h
+    
     def lookup(self, id):
         try:
             rev = int(id)