##// END OF EJS Templates
phases: make phasecache._phasesets immutable...
Rodrigo Damazio Bovendorp -
r44522:ab41dad7 default
parent child Browse files
Show More
@@ -253,15 +253,19 b' class phasecache(object):'
253
253
254 # fast path: _phasesets contains the interesting sets,
254 # fast path: _phasesets contains the interesting sets,
255 # might only need a union and post-filtering.
255 # might only need a union and post-filtering.
256 revsneedscopy = False
256 if len(phases) == 1:
257 if len(phases) == 1:
257 [p] = phases
258 [p] = phases
258 revs = self._phasesets[p]
259 revs = self._phasesets[p]
260 revsneedscopy = True # Don't modify _phasesets
259 else:
261 else:
260 # revs has the revisions in all *other* phases.
262 # revs has the revisions in all *other* phases.
261 revs = set.union(*[self._phasesets[p] for p in phases])
263 revs = set.union(*[self._phasesets[p] for p in phases])
262
264
263 def _addwdir(wdirsubset, wdirrevs):
265 def _addwdir(wdirsubset, wdirrevs):
264 if wdirrev in wdirsubset and repo[None].phase() in phases:
266 if wdirrev in wdirsubset and repo[None].phase() in phases:
267 if revsneedscopy:
268 wdirrevs = wdirrevs.copy()
265 # The working dir would never be in the # cache, but it was in
269 # The working dir would never be in the # cache, but it was in
266 # the subset being filtered for its phase (or filtered out,
270 # the subset being filtered for its phase (or filtered out,
267 # depending on publicphase), so add it to the output to be
271 # depending on publicphase), so add it to the output to be
General Comments 0
You need to be logged in to leave comments. Login now