Mercurial > public > mercurial-scm > hg
comparison mercurial/revlog.py @ 47386:0d0fb091c49f
revlog: simplify "partial read" error message
We are about to reuse this message in more places and the current handling is
pretty hard to read. So we eat two pie with one stone and clean up this.
Differential Revision: https://phab.mercurial-scm.org/D10784
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 27 May 2021 04:09:10 +0200 |
parents | 9d9eb22b9b69 |
children | 75e1104f23a2 |
comparison
equal
deleted
inserted
replaced
47385:9d9eb22b9b69 | 47386:0d0fb091c49f |
---|---|
253 | 253 |
254 | 254 |
255 # corresponds to uncompressed length of indexformatng (2 gigs, 4-byte | 255 # corresponds to uncompressed length of indexformatng (2 gigs, 4-byte |
256 # signed integer) | 256 # signed integer) |
257 _maxentrysize = 0x7FFFFFFF | 257 _maxentrysize = 0x7FFFFFFF |
258 | |
259 PARTIAL_READ_MSG = _( | |
260 b'partial read of revlog %s; expected %d bytes from offset %d, got %d' | |
261 ) | |
258 | 262 |
259 | 263 |
260 class revlog(object): | 264 class revlog(object): |
261 """ | 265 """ |
262 the underlying revision storage object | 266 the underlying revision storage object |
1707 | 1711 |
1708 self._cachesegment(realoffset, d) | 1712 self._cachesegment(realoffset, d) |
1709 if offset != realoffset or reallength != length: | 1713 if offset != realoffset or reallength != length: |
1710 startoffset = offset - realoffset | 1714 startoffset = offset - realoffset |
1711 if len(d) - startoffset < length: | 1715 if len(d) - startoffset < length: |
1712 raise error.RevlogError( | 1716 filename = self._indexfile if self._inline else self._datafile |
1713 _( | 1717 got = len(d) - startoffset |
1714 b'partial read of revlog %s; expected %d bytes from ' | 1718 m = PARTIAL_READ_MSG % (filename, length, offset, got) |
1715 b'offset %d, got %d' | 1719 raise error.RevlogError(m) |
1716 ) | |
1717 % ( | |
1718 self._indexfile if self._inline else self._datafile, | |
1719 length, | |
1720 offset, | |
1721 len(d) - startoffset, | |
1722 ) | |
1723 ) | |
1724 | |
1725 return util.buffer(d, startoffset, length) | 1720 return util.buffer(d, startoffset, length) |
1726 | 1721 |
1727 if len(d) < length: | 1722 if len(d) < length: |
1728 raise error.RevlogError( | 1723 filename = self._indexfile if self._inline else self._datafile |
1729 _( | 1724 got = len(d) - startoffset |
1730 b'partial read of revlog %s; expected %d bytes from offset ' | 1725 m = PARTIAL_READ_MSG % (filename, length, offset, got) |
1731 b'%d, got %d' | 1726 raise error.RevlogError(m) |
1732 ) | |
1733 % ( | |
1734 self._indexfile if self._inline else self._datafile, | |
1735 length, | |
1736 offset, | |
1737 len(d), | |
1738 ) | |
1739 ) | |
1740 | 1727 |
1741 return d | 1728 return d |
1742 | 1729 |
1743 def _getsegment(self, offset, length, df=None): | 1730 def _getsegment(self, offset, length, df=None): |
1744 """Obtain a segment of raw data from the revlog. | 1731 """Obtain a segment of raw data from the revlog. |