mercurial/phases.py
branchstable
changeset 51517 4ee50d98d35c
parent 51516 e0f92bd98c24
child 51578 231a92eb1936
equal deleted inserted replaced
51516:e0f92bd98c24 51517:4ee50d98d35c
   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