Show More
@@ -294,6 +294,19 b' class phasecache(object):' | |||||
294 | tr.addfilegenerator('phase', ('phaseroots',), self._write) |
|
294 | tr.addfilegenerator('phase', ('phaseroots',), self._write) | |
295 | tr.hookargs['phases_moved'] = '1' |
|
295 | tr.hookargs['phases_moved'] = '1' | |
296 |
|
296 | |||
|
297 | def registernew(self, repo, tr, targetphase, nodes): | |||
|
298 | repo = repo.unfiltered() | |||
|
299 | self._retractboundary(repo, tr, targetphase, nodes) | |||
|
300 | if tr is not None and 'phases' in tr.changes: | |||
|
301 | phasetracking = tr.changes['phases'] | |||
|
302 | torev = repo.changelog.rev | |||
|
303 | phase = self.phase | |||
|
304 | for n in nodes: | |||
|
305 | rev = torev(n) | |||
|
306 | revphase = phase(repo, rev) | |||
|
307 | _trackphasechange(phasetracking, rev, None, revphase) | |||
|
308 | repo.invalidatevolatilesets() | |||
|
309 | ||||
297 | def advanceboundary(self, repo, tr, targetphase, nodes): |
|
310 | def advanceboundary(self, repo, tr, targetphase, nodes): | |
298 | """Set all 'nodes' to phase 'targetphase' |
|
311 | """Set all 'nodes' to phase 'targetphase' | |
299 |
|
312 | |||
@@ -417,6 +430,16 b' def retractboundary(repo, tr, targetphas' | |||||
417 | phcache.retractboundary(repo, tr, targetphase, nodes) |
|
430 | phcache.retractboundary(repo, tr, targetphase, nodes) | |
418 | repo._phasecache.replace(phcache) |
|
431 | repo._phasecache.replace(phcache) | |
419 |
|
432 | |||
|
433 | def registernew(repo, tr, targetphase, nodes): | |||
|
434 | """register a new revision and its phase | |||
|
435 | ||||
|
436 | Code adding revisions to the repository should use this function to | |||
|
437 | set new changeset in their target phase (or higher). | |||
|
438 | """ | |||
|
439 | phcache = repo._phasecache.copy() | |||
|
440 | phcache.registernew(repo, tr, targetphase, nodes) | |||
|
441 | repo._phasecache.replace(phcache) | |||
|
442 | ||||
420 | def listphases(repo): |
|
443 | def listphases(repo): | |
421 | """List phases root for serialization over pushkey""" |
|
444 | """List phases root for serialization over pushkey""" | |
422 | # Use ordered dictionary so behavior is deterministic. |
|
445 | # Use ordered dictionary so behavior is deterministic. |
General Comments 0
You need to be logged in to leave comments.
Login now