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