mercurial/revlog.py
changeset 38777 83a505b5cf85
parent 38763 33ac6a72308a
child 38783 e7aa113b14f7
equal deleted inserted replaced
38776:65ed2fcb9032 38777:83a505b5cf85
  1068     def __iter__(self):
  1068     def __iter__(self):
  1069         return iter(xrange(len(self)))
  1069         return iter(xrange(len(self)))
  1070     def revs(self, start=0, stop=None):
  1070     def revs(self, start=0, stop=None):
  1071         """iterate over all rev in this revlog (from start to stop)"""
  1071         """iterate over all rev in this revlog (from start to stop)"""
  1072         step = 1
  1072         step = 1
       
  1073         length = len(self)
  1073         if stop is not None:
  1074         if stop is not None:
  1074             if start > stop:
  1075             if start > stop:
  1075                 step = -1
  1076                 step = -1
  1076             stop += step
  1077             stop += step
       
  1078             if stop > length:
       
  1079                 stop = length
  1077         else:
  1080         else:
  1078             stop = len(self)
  1081             stop = length
  1079         return xrange(start, stop, step)
  1082         return xrange(start, stop, step)
  1080 
  1083 
  1081     @util.propertycache
  1084     @util.propertycache
  1082     def nodemap(self):
  1085     def nodemap(self):
  1083         self.rev(self.node(0))
  1086         self.rev(self.node(0))