Mercurial > public > mercurial-scm > hg
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) |