mercurial/obsolete.py
changeset 35137 5cd6682b5a90
parent 35136 82680919d75e
child 35365 7354fda50e8b
--- a/mercurial/obsolete.py	Sun Nov 19 05:23:12 2017 +0100
+++ b/mercurial/obsolete.py	Sun Nov 19 05:34:50 2017 +0100
@@ -1023,8 +1023,10 @@
     divergent = set()
     obsstore = repo.obsstore
     newermap = {}
-    for ctx in repo.set('(not public()) - obsolete()'):
-        mark = obsstore.predecessors.get(ctx.node(), ())
+    tonode = repo.changelog.node
+    for rev in repo.revs('(not public()) - obsolete()'):
+        node = tonode(rev)
+        mark = obsstore.predecessors.get(node, ())
         toprocess = set(mark)
         seen = set()
         while toprocess:
@@ -1036,7 +1038,7 @@
                 obsutil.successorssets(repo, prec, cache=newermap)
             newer = [n for n in newermap[prec] if n]
             if len(newer) > 1:
-                divergent.add(ctx.rev())
+                divergent.add(rev)
                 break
             toprocess.update(obsstore.predecessors.get(prec, ()))
     return divergent