mercurial/revlog.py
changeset 17975 c56b5b65430d
parent 17972 7ef00d09ef35
child 18081 f88c60e740a1
equal deleted inserted replaced
17974:337d728e644f 17975:c56b5b65430d
   255         return len(self.index) - 1
   255         return len(self.index) - 1
   256     def __iter__(self):
   256     def __iter__(self):
   257         return iter(xrange(len(self)))
   257         return iter(xrange(len(self)))
   258     def revs(self, start=0, stop=None):
   258     def revs(self, start=0, stop=None):
   259         """iterate over all rev in this revlog (from start to stop)"""
   259         """iterate over all rev in this revlog (from start to stop)"""
   260         if stop is None:
   260         step = 1
       
   261         if stop is not None:
       
   262             if start > stop:
       
   263                 step = -1
       
   264             stop += step
       
   265         else:
   261             stop = len(self)
   266             stop = len(self)
   262         else:
   267         return xrange(start, stop, step)
   263             stop += 1
       
   264         return xrange(start, stop)
       
   265 
   268 
   266     @util.propertycache
   269     @util.propertycache
   267     def nodemap(self):
   270     def nodemap(self):
   268         self.rev(self.node(0))
   271         self.rev(self.node(0))
   269         return self._nodecache
   272         return self._nodecache