mercurial/graphmod.py
changeset 26187 9cf65f43b49b
parent 26092 014044dbd4e8
child 28375 97cb1aeaca78
equal deleted inserted replaced
26186:eb2187ebdf8a 26187:9cf65f43b49b
   258                  p.rev() != nullrev and p.rev() not in parents]
   258                  p.rev() != nullrev and p.rev() not in parents]
   259 
   259 
   260         for mpar in mpars:
   260         for mpar in mpars:
   261             gp = gpcache.get(mpar)
   261             gp = gpcache.get(mpar)
   262             if gp is None:
   262             if gp is None:
       
   263                 # precompute slow query as we know reachableroots() goes
       
   264                 # through all revs (issue4782)
       
   265                 if not isinstance(revs, revset.baseset):
       
   266                     revs = revset.baseset(revs)
   263                 gp = gpcache[mpar] = revset.reachableroots(repo, revs, [mpar])
   267                 gp = gpcache[mpar] = revset.reachableroots(repo, revs, [mpar])
   264             if not gp:
   268             if not gp:
   265                 parents.append(mpar)
   269                 parents.append(mpar)
   266             else:
   270             else:
   267                 parents.extend(g for g in gp if g not in parents)
   271                 parents.extend(g for g in gp if g not in parents)