867 replaced_roots = set() # older roots replaced by this call |
867 replaced_roots = set() # older roots replaced by this call |
868 currentroots = self._phaseroots[targetphase] |
868 currentroots = self._phaseroots[targetphase] |
869 start = min(new_revs) |
869 start = min(new_revs) |
870 end = len(cl) |
870 end = len(cl) |
871 rev_phases = [None] * (end - start) |
871 rev_phases = [None] * (end - start) |
|
872 |
|
873 this_phase_set = self._phasesets[targetphase] |
872 for r in range(start, end): |
874 for r in range(start, end): |
873 |
875 |
874 # gather information about the current_rev |
876 # gather information about the current_rev |
875 r_phase = phase(repo, r) |
877 r_phase = phase(repo, r) |
876 p_phase = None # phase inherited from parents |
878 p_phase = None # phase inherited from parents |
891 if r in new_revs and r_phase < targetphase: |
893 if r in new_revs and r_phase < targetphase: |
892 if p_phase is None or p_phase < targetphase: |
894 if p_phase is None or p_phase < targetphase: |
893 new_roots.add(r) |
895 new_roots.add(r) |
894 rev_phases[r - start] = targetphase |
896 rev_phases[r - start] = targetphase |
895 changed_revs[r] = r_phase |
897 changed_revs[r] = r_phase |
|
898 this_phase_set.add(r) |
896 elif p_phase is None: |
899 elif p_phase is None: |
897 rev_phases[r - start] = r_phase |
900 rev_phases[r - start] = r_phase |
898 else: |
901 else: |
899 if p_phase > r_phase: |
902 if p_phase > r_phase: |
900 rev_phases[r - start] = p_phase |
903 rev_phases[r - start] = p_phase |
901 else: |
904 else: |
902 rev_phases[r - start] = r_phase |
905 rev_phases[r - start] = r_phase |
903 if p_phase == targetphase: |
906 if p_phase == targetphase: |
904 if p_phase > r_phase: |
907 if p_phase > r_phase: |
905 changed_revs[r] = r_phase |
908 changed_revs[r] = r_phase |
|
909 this_phase_set.add(r) |
906 elif r in currentroots: |
910 elif r in currentroots: |
907 replaced_roots.add(r) |
911 replaced_roots.add(r) |
908 sets = self._phasesets |
912 sets = self._phasesets |
909 sets[targetphase].update(changed_revs) |
|
910 if targetphase > draft: |
913 if targetphase > draft: |
911 for r, old in changed_revs.items(): |
914 for r, old in changed_revs.items(): |
912 if old > public: |
915 if old > public: |
913 sets[old].discard(r) |
916 sets[old].discard(r) |
914 |
917 |