mercurial/graphmod.py
changeset 26187 9cf65f43b49b
parent 26092 014044dbd4e8
child 28375 97cb1aeaca78
--- a/mercurial/graphmod.py	Mon Sep 07 11:35:40 2015 -0700
+++ b/mercurial/graphmod.py	Tue Sep 08 23:00:44 2015 +0900
@@ -260,6 +260,10 @@
         for mpar in mpars:
             gp = gpcache.get(mpar)
             if gp is None:
+                # precompute slow query as we know reachableroots() goes
+                # through all revs (issue4782)
+                if not isinstance(revs, revset.baseset):
+                    revs = revset.baseset(revs)
                 gp = gpcache[mpar] = revset.reachableroots(repo, revs, [mpar])
             if not gp:
                 parents.append(mpar)