##// END OF EJS Templates
phases: directly update the phase sets in advanceboundary...
marmoute -
r52317:3cee8706 default
parent child Browse files
Show More
@@ -769,19 +769,26 b' class phasecache:'
769 769 if not dryrun:
770 770 for r, p in changed.items():
771 771 _trackphasechange(phasetracking, r, p, targetphase)
772 if targetphase > public:
773 self._phasesets[targetphase].update(changed)
772 774 for phase in affectable_phases:
773 775 roots = self._phaseroots[phase]
774 776 removed = roots & delroots
775 777 if removed or new_roots[phase]:
778 self._phasesets[phase].difference_update(changed)
776 779 # Be careful to preserve shallow-copied values: do not
777 780 # update phaseroots values, replace them.
778 781 final_roots = roots - delroots | new_roots[phase]
779 self._updateroots(repo, phase, final_roots, tr)
782 self._updateroots(
783 repo, phase, final_roots, tr, invalidate=False
784 )
780 785 if new_target_roots:
781 786 # Thanks for previous filtering, we can't replace existing
782 787 # roots
783 788 new_target_roots |= self._phaseroots[targetphase]
784 self._updateroots(repo, targetphase, new_target_roots, tr)
789 self._updateroots(
790 repo, targetphase, new_target_roots, tr, invalidate=False
791 )
785 792 repo.invalidatevolatilesets()
786 793 return changed
787 794
General Comments 0
You need to be logged in to leave comments. Login now