mercurial/graphmod.py
changeset 14088 e83ced8b6464
parent 14087 f3d585c9b042
child 14131 03e1c2d35c6a
equal deleted inserted replaced
14087:f3d585c9b042 14088:e83ced8b6464
    34 
    34 
    35     cl = repo.changelog
    35     cl = repo.changelog
    36     lowestrev = min(revs)
    36     lowestrev = min(revs)
    37     gpcache = {}
    37     gpcache = {}
    38 
    38 
       
    39     knownrevs = set(revs)
    39     for rev in revs:
    40     for rev in revs:
    40         ctx = repo[rev]
    41         ctx = repo[rev]
    41         parents = sorted(set([p.rev() for p in ctx.parents() if p.rev() in revs]))
    42         parents = sorted(set([p.rev() for p in ctx.parents()
       
    43                               if p.rev() in knownrevs]))
    42         mpars = [p.rev() for p in ctx.parents() if
    44         mpars = [p.rev() for p in ctx.parents() if
    43                  p.rev() != nullrev and p.rev() not in parents]
    45                  p.rev() != nullrev and p.rev() not in parents]
    44 
    46 
    45         for mpar in mpars:
    47         for mpar in mpars:
    46             gp = gpcache.get(mpar) or grandparent(cl, lowestrev, revs, mpar)
    48             gp = gpcache.get(mpar) or grandparent(cl, lowestrev, revs, mpar)