equal
deleted
inserted
replaced
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) |