##// END OF EJS Templates
revlog: change accesses to index entry elements to use positive offsets
Matt Mackall -
r4978:93d48a8f default
parent child Browse files
Show More
@@ -260,7 +260,7 b' class lazymap(object):'
260 ret = self.p.index[i]
260 ret = self.p.index[i]
261 if isinstance(ret, str):
261 if isinstance(ret, str):
262 ret = struct.unpack(indexformatng, ret)
262 ret = struct.unpack(indexformatng, ret)
263 yield ret[-1]
263 yield ret[7]
264 def __getitem__(self, key):
264 def __getitem__(self, key):
265 try:
265 try:
266 return self.p.map[key]
266 return self.p.map[key]
@@ -344,7 +344,7 b' class revlogio(object):'
344 while off + s <= l:
344 while off + s <= l:
345 e = struct.unpack(indexformatng, data[off:off + s])
345 e = struct.unpack(indexformatng, data[off:off + s])
346 index.append(e)
346 index.append(e)
347 nodemap[e[-1]] = n
347 nodemap[e[7]] = n
348 n += 1
348 n += 1
349 off += s
349 off += s
350 if inline:
350 if inline:
@@ -475,23 +475,23 b' class revlog(object):'
475 def tip(self): return self.node(len(self.index) - 1)
475 def tip(self): return self.node(len(self.index) - 1)
476 def count(self): return len(self.index)
476 def count(self): return len(self.index)
477 def node(self, rev):
477 def node(self, rev):
478 return rev == nullrev and nullid or self.index[rev][-1]
478 return rev == nullrev and nullid or self.index[rev][7]
479 def rev(self, node):
479 def rev(self, node):
480 try:
480 try:
481 return self.nodemap[node]
481 return self.nodemap[node]
482 except KeyError:
482 except KeyError:
483 raise LookupError(_('%s: no node %s') % (self.indexfile, hex(node)))
483 raise LookupError(_('%s: no node %s') % (self.indexfile, hex(node)))
484 def linkrev(self, node):
484 def linkrev(self, node):
485 return (node == nullid) and nullrev or self.index[self.rev(node)][-4]
485 return (node == nullid) and nullrev or self.index[self.rev(node)][4]
486 def parents(self, node):
486 def parents(self, node):
487 if node == nullid: return (nullid, nullid)
487 if node == nullid: return (nullid, nullid)
488 r = self.rev(node)
488 r = self.rev(node)
489 d = self.index[r][-3:-1]
489 d = self.index[r][5:7]
490 return (self.node(d[0]), self.node(d[1]))
490 return (self.node(d[0]), self.node(d[1]))
491 def parentrevs(self, rev):
491 def parentrevs(self, rev):
492 if rev == nullrev:
492 if rev == nullrev:
493 return (nullrev, nullrev)
493 return (nullrev, nullrev)
494 d = self.index[rev][-3:-1]
494 d = self.index[rev][5:7]
495 return d
495 return d
496 def start(self, rev):
496 def start(self, rev):
497 if rev == nullrev:
497 if rev == nullrev:
@@ -540,7 +540,7 b' class revlog(object):'
540 if (rev == nullrev):
540 if (rev == nullrev):
541 return nullrev
541 return nullrev
542 else:
542 else:
543 return self.index[rev][-5]
543 return self.index[rev][3]
544
544
545 def reachable(self, node, stop=None):
545 def reachable(self, node, stop=None):
546 """return a hash of all nodes ancestral to a given node, including
546 """return a hash of all nodes ancestral to a given node, including
@@ -1229,7 +1229,7 b' class revlog(object):'
1229 # does not actually belong to an older changeset.
1229 # does not actually belong to an older changeset.
1230 # The minlink parameter defines the oldest revision
1230 # The minlink parameter defines the oldest revision
1231 # we're allowed to strip away.
1231 # we're allowed to strip away.
1232 while minlink > self.index[rev][-4]:
1232 while minlink > self.index[rev][4]:
1233 rev += 1
1233 rev += 1
1234 if rev >= self.count():
1234 if rev >= self.count():
1235 return
1235 return
General Comments 0
You need to be logged in to leave comments. Login now