mercurial/graphmod.py
changeset 31023 aea06029919e
parent 29348 2188f170f5b6
child 31552 d0b9e9803caf
equal deleted inserted replaced
31022:705ecab649ea 31023:aea06029919e
    20 from __future__ import absolute_import
    20 from __future__ import absolute_import
    21 
    21 
    22 from .node import nullrev
    22 from .node import nullrev
    23 from . import (
    23 from . import (
    24     revset,
    24     revset,
       
    25     smartset,
    25     util,
    26     util,
    26 )
    27 )
    27 
    28 
    28 CHANGESET = 'C'
    29 CHANGESET = 'C'
    29 PARENT = 'P'
    30 PARENT = 'P'
    65         for mpar in mpars:
    66         for mpar in mpars:
    66             gp = gpcache.get(mpar)
    67             gp = gpcache.get(mpar)
    67             if gp is None:
    68             if gp is None:
    68                 # precompute slow query as we know reachableroots() goes
    69                 # precompute slow query as we know reachableroots() goes
    69                 # through all revs (issue4782)
    70                 # through all revs (issue4782)
    70                 if not isinstance(revs, revset.baseset):
    71                 if not isinstance(revs, smartset.baseset):
    71                     revs = revset.baseset(revs)
    72                     revs = smartset.baseset(revs)
    72                 gp = gpcache[mpar] = sorted(set(revset.reachableroots(
    73                 gp = gpcache[mpar] = sorted(set(revset.reachableroots(
    73                     repo, revs, [mpar])))
    74                     repo, revs, [mpar])))
    74             if not gp:
    75             if not gp:
    75                 parents.append((MISSINGPARENT, mpar))
    76                 parents.append((MISSINGPARENT, mpar))
    76                 pset.add(mpar)
    77                 pset.add(mpar)