Show More
@@ -308,9 +308,19 b' class phasecache(object):' | |||
|
308 | 308 | raise error.Abort(_('cannot change null revision phase')) |
|
309 | 309 | currentroots = currentroots.copy() |
|
310 | 310 | currentroots.update(newroots) |
|
311 | ctxs = repo.set('roots(%ln::)', currentroots) | |
|
312 | currentroots.intersection_update(ctx.node() for ctx in ctxs) | |
|
313 | self._updateroots(targetphase, currentroots, tr) | |
|
311 | ||
|
312 | # Only compute new roots for revs above the roots that are being | |
|
313 | # retracted. | |
|
314 | minnewroot = min(repo[n].rev() for n in newroots) | |
|
315 | aboveroots = [n for n in currentroots | |
|
316 | if repo[n].rev() >= minnewroot] | |
|
317 | updatedroots = repo.set('roots(%ln::)', aboveroots) | |
|
318 | ||
|
319 | finalroots = set(n for n in currentroots if repo[n].rev() < | |
|
320 | minnewroot) | |
|
321 | finalroots.update(ctx.node() for ctx in updatedroots) | |
|
322 | ||
|
323 | self._updateroots(targetphase, finalroots, tr) | |
|
314 | 324 | repo.invalidatevolatilesets() |
|
315 | 325 | |
|
316 | 326 | def filterunknown(self, repo): |
General Comments 0
You need to be logged in to leave comments.
Login now