mercurial/revlog.py
changeset 17150 3ac9592b7ab4
parent 17139 ad1b5e070f16
child 17424 e7cfe3587ea4
child 17483 fe3b26048140
equal deleted inserted replaced
17149:4b33422e2572 17150:3ac9592b7ab4
   318         base = index[rev][3]
   318         base = index[rev][3]
   319         while base != rev:
   319         while base != rev:
   320             rev = base
   320             rev = base
   321             base = index[rev][3]
   321             base = index[rev][3]
   322         return base
   322         return base
   323     def chainlength(self, rev):
       
   324         index = self.index
       
   325         base = index[rev][3]
       
   326         length = index[rev][1]
       
   327         while base != rev:
       
   328             rev = base
       
   329             base = index[rev][3]
       
   330             length = length + index[rev][1]
       
   331         return length
       
   332     def flags(self, rev):
   323     def flags(self, rev):
   333         return self.index[rev][0] & 0xFFFF
   324         return self.index[rev][0] & 0xFFFF
   334     def rawsize(self, rev):
   325     def rawsize(self, rev):
   335         """return the length of the uncompressed text for a given revision"""
   326         """return the length of the uncompressed text for a given revision"""
   336         l = self.index[rev][2]
   327         l = self.index[rev][2]
  1053             l = len(data[1]) + len(data[0])
  1044             l = len(data[1]) + len(data[0])
  1054             if basecache[0] == rev:
  1045             if basecache[0] == rev:
  1055                 chainbase = basecache[1]
  1046                 chainbase = basecache[1]
  1056             else:
  1047             else:
  1057                 chainbase = self.chainbase(rev)
  1048                 chainbase = self.chainbase(rev)
       
  1049             dist = l + offset - self.start(chainbase)
  1058             if self._generaldelta:
  1050             if self._generaldelta:
  1059                 dist = l + self.chainlength(rev)
       
  1060                 base = rev
  1051                 base = rev
  1061             else:
  1052             else:
  1062                 dist = l + offset - self.start(chainbase)
       
  1063                 base = chainbase
  1053                 base = chainbase
  1064             return dist, l, data, base, chainbase
  1054             return dist, l, data, base, chainbase
  1065 
  1055 
  1066         curr = len(self)
  1056         curr = len(self)
  1067         prev = curr - 1
  1057         prev = curr - 1