hgext3rd/evolve/stablerange.py
changeset 2218 9e30934d4487
parent 2217 37fa3d83f294
child 2219 d83bf4773433
equal deleted inserted replaced
2217:37fa3d83f294 2218:9e30934d4487
   389 
   389 
   390     def _slicesrangeat(self, repo, rangeid, globalindex):
   390     def _slicesrangeat(self, repo, rangeid, globalindex):
   391         p1, p2 = self._parents(rangeid[0], repo.changelog.parentrevs)
   391         p1, p2 = self._parents(rangeid[0], repo.changelog.parentrevs)
   392         if p2 != nodemod.nullrev:
   392         if p2 != nodemod.nullrev:
   393             return self._slicesrangeatmerge(repo, rangeid, globalindex)
   393             return self._slicesrangeatmerge(repo, rangeid, globalindex)
   394         assert p1 != nodemod.nullrev
   394 
   395         rangedepth = self.depthrev(repo, rangeid[0])
   395         reuserev = p1
   396         topsize = rangedepth - globalindex
   396 
   397 
   397         assert reuserev != nodemod.nullrev
   398         parentrange = (p1, rangeid[1])
   398 
   399 
   399         reuserange = (reuserev, rangeid[1])
   400         if topsize == 1:
   400         top = (rangeid[0], globalindex)
   401             top = (rangeid[0], globalindex)
   401 
   402             return [parentrange, top]
   402         if rangeid[1] + self.rangelength(repo, reuserange) == globalindex:
   403         else:
   403             return [reuserange, top]
   404             # This will not initiate a recursion since we took appropriate
   404         # This will not initiate a recursion since we took appropriate
   405             # precaution in the caller of this method to ensure it will be so.
   405         # precaution in the caller of this method to ensure it will be so.
   406             # It the parent is a merge that will not be the case but computing
   406         # It the parent is a merge that will not be the case but computing
   407             # subranges from a merge will not recurse.
   407         # subranges from a merge will not recurse.
   408             parentsubranges = self.subranges(repo, parentrange)
   408         reusesubranges = self.subranges(repo, reuserange)
   409             slices = parentsubranges[:-1] # pop the top
   409         slices = reusesubranges[:-1] # pop the top
   410             top = (rangeid[0], globalindex)
   410         slices.append(top)
   411             slices.append(top)
   411         return slices
   412             return slices
       
   413 
   412 
   414     def _slicesrangeatmerge(self, repo, rangeid, globalindex):
   413     def _slicesrangeatmerge(self, repo, rangeid, globalindex):
   415         localindex = globalindex - rangeid[1]
   414         localindex = globalindex - rangeid[1]
   416         cl = repo.changelog
   415         cl = repo.changelog
   417 
   416