Fix revlog.children so the real children of the null revision can be calculated.
authorThomas Arendsen Hein <thomas@intevation.de>
Tue, 03 Jul 2007 12:45:33 +0200
changeset 4781 62c56d8f368b
parent 4778 e21a0e12ff10
child 4782 7cd8a00d08de
child 4798 452d171a1b39
Fix revlog.children so the real children of the null revision can be calculated.
mercurial/revlog.py
--- a/mercurial/revlog.py
+++ b/mercurial/revlog.py
@@ -756,9 +756,13 @@ class revlog(object):
         c = []
         p = self.rev(node)
         for r in range(p + 1, self.count()):
-            for pr in self.parentrevs(r):
-                if pr == p:
-                    c.append(self.node(r))
+            prevs = [pr for pr in self.parentrevs(r) if pr != nullrev]
+            if prevs:
+                for pr in prevs:
+                    if pr == p:
+                        c.append(self.node(r))
+            elif p == nullrev:
+                c.append(self.node(r))
         return c
 
     def _match(self, id):