Mercurial > public > mercurial-scm > hg-stable
diff mercurial/changelog.py @ 47431:e0a314bcbc9d
revlog: Extract low-level random-access file read caching logic
The `revlog` class does many things, among which fulfilling requests for
arbitrary byte slices from the revlog "data file" by reading a larger chunk
and caching it in memory, in order to reduce the number of system calls.
This extracts that logic into a new class, so that it may later also be used
for the side-data file (with another instance of that class).
The copyright notice of the new file does not include a date or author name
since such information tend not to be kept up-to-date:
https://www.linuxfoundation.org/en/blog/copyright-notices-in-open-source-software-projects/
Differential Revision: https://phab.mercurial-scm.org/D10878
author | Simon Sapin <simon.sapin@octobus.net> |
---|---|
date | Tue, 08 Jun 2021 19:55:00 +0200 |
parents | 9d9eb22b9b69 |
children | cac0e0621ceb |
line wrap: on
line diff
--- a/mercurial/changelog.py Fri Jun 11 23:39:31 2021 -0400 +++ b/mercurial/changelog.py Tue Jun 08 19:55:00 2021 +0200 @@ -454,6 +454,7 @@ self.opener = _delayopener( self._realopener, self._indexfile, self._delaybuf ) + self._segmentfile.opener = self.opener self._delayed = True tr.addpending(b'cl-%i' % id(self), self._writepending) tr.addfinalize(b'cl-%i' % id(self), self._finalize) @@ -462,6 +463,7 @@ """finalize index updates""" self._delayed = False self.opener = self._realopener + self._segmentfile.opener = self.opener # move redirected index data back into place if self._docket is not None: self._write_docket(tr) @@ -501,6 +503,7 @@ self._delaybuf = None self._divert = True self.opener = _divertopener(self._realopener, self._indexfile) + self._segmentfile.opener = self.opener if self._divert: return True