comparison mercurial/revlog.py @ 31722:4eb75c86368b

revlog: avoid unnecessary node -> rev conversion
author Jun Wu <quark@fb.com>
date Wed, 29 Mar 2017 16:23:04 -0700
parents 6ceb3c4c3ab6
children 17d0dab7b2b6
comparison
equal deleted inserted replaced
31721:be8a866a2c44 31722:4eb75c86368b
436 """return the length of the uncompressed text for a given revision""" 436 """return the length of the uncompressed text for a given revision"""
437 l = self.index[rev][2] 437 l = self.index[rev][2]
438 if l >= 0: 438 if l >= 0:
439 return l 439 return l
440 440
441 t = self.revision(self.node(rev)) 441 t = self.revision(rev)
442 return len(t) 442 return len(t)
443 size = rawsize 443 size = rawsize
444 444
445 def chainbase(self, rev): 445 def chainbase(self, rev):
446 base = self._chainbasecache.get(rev) 446 base = self._chainbasecache.get(rev)
1594 else: 1594 else:
1595 if self._inline: 1595 if self._inline:
1596 fh = ifh 1596 fh = ifh
1597 else: 1597 else:
1598 fh = dfh 1598 fh = dfh
1599 basetext = self.revision(self.node(baserev), _df=fh, raw=raw) 1599 basetext = self.revision(baserev, _df=fh, raw=raw)
1600 btext[0] = mdiff.patch(basetext, delta) 1600 btext[0] = mdiff.patch(basetext, delta)
1601 1601
1602 try: 1602 try:
1603 res = self._processflags(btext[0], flags, 'read', raw=raw) 1603 res = self._processflags(btext[0], flags, 'read', raw=raw)
1604 btext[0], validatehash = res 1604 btext[0], validatehash = res
1626 else: 1626 else:
1627 if self._inline: 1627 if self._inline:
1628 fh = ifh 1628 fh = ifh
1629 else: 1629 else:
1630 fh = dfh 1630 fh = dfh
1631 ptext = self.revision(self.node(rev), _df=fh) 1631 ptext = self.revision(rev, _df=fh)
1632 delta = mdiff.textdiff(ptext, t) 1632 delta = mdiff.textdiff(ptext, t)
1633 header, data = self.compress(delta) 1633 header, data = self.compress(delta)
1634 deltalen = len(header) + len(data) 1634 deltalen = len(header) + len(data)
1635 chainbase = self.chainbase(rev) 1635 chainbase = self.chainbase(rev)
1636 dist = deltalen + offset - self.start(chainbase) 1636 dist = deltalen + offset - self.start(chainbase)