hgext3rd/evolve/obsdiscovery.py
changeset 2137 dd8ed58bf79c
parent 2135 8f63f4b1c33e
child 2138 393fabaf4039
--- a/hgext3rd/evolve/obsdiscovery.py	Sun Mar 19 05:33:52 2017 +0100
+++ b/hgext3rd/evolve/obsdiscovery.py	Wed Mar 22 05:09:21 2017 +0100
@@ -393,16 +393,7 @@
     revs = scmutil.revrange(repo, opts['rev'])
     # prewarm depth cache
     repo.stablerange.warmup(repo, revs)
-    toproceed = [stablerange.stablerange(repo, r, 0, ) for r in revs]
-    ranges = set(toproceed)
-    while toproceed:
-        entry = toproceed.pop()
-        for r in entry.subranges():
-            if r not in ranges:
-                ranges.add(r)
-                toproceed.append(r)
-    ranges = list(ranges)
-    ranges.sort(key=lambda r: (-len(r), r.node))
+    ranges = stablerange.subrangesclosure(repo, revs)
     ui.status('rev         node index size depth      obshash\n')
     for r in ranges:
         d = (r.head, s(r.node), r.index, len(r), r.depth, node.short(r.obshash))