Mercurial > public > mercurial-scm > hg-stable
diff mercurial/changelog.py @ 51090:c3748f38dcd0
revlog: create a iteration of a _InnerRevlog object within the revlog
The goal of this object is to isolate a sub-API that can be implemented by a
compiled object (e.g. Rust). So the boundary of this object will be arbitrary
depending of what can we easily implemented in the Compiled code.
For now, we start simple, and move the code that manage the IO objects in the
inner object. More will come in the coming changesets.
Note: the object definition could live in the different module to thin the
`revlog.py` file, however there are other better candidate for extraction first
and I have enought patch stacked on top of the this one for the split in this
patch not to be worth it. So I leave this to future me.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 17 Oct 2023 06:02:33 +0200 |
parents | 498afb627f78 |
children | 594f912818ab |
line wrap: on
line diff
--- a/mercurial/changelog.py Tue Oct 17 05:17:02 2023 +0200 +++ b/mercurial/changelog.py Tue Oct 17 06:02:33 2023 +0200 @@ -459,8 +459,9 @@ self.opener = _delayopener( self._realopener, self._indexfile, self._delaybuf ) - self._segmentfile.opener = self.opener - self._segmentfile_sidedata.opener = self.opener + self._inner.opener = self.opener + self._inner._segmentfile.opener = self.opener + self._inner._segmentfile_sidedata.opener = self.opener self._delayed = True tr.addpending(b'cl-%i' % id(self), self._writepending) tr.addfinalize(b'cl-%i' % id(self), self._finalize) @@ -469,8 +470,9 @@ """finalize index updates""" self._delayed = False self.opener = self._realopener - self._segmentfile.opener = self.opener - self._segmentfile_sidedata.opener = self.opener + self._inner.opener = self.opener + self._inner._segmentfile.opener = self.opener + self._inner._segmentfile_sidedata.opener = self.opener # move redirected index data back into place if self._docket is not None: self._write_docket(tr) @@ -510,8 +512,9 @@ self._delaybuf = None self._divert = True self.opener = _divertopener(self._realopener, self._indexfile) - self._segmentfile.opener = self.opener - self._segmentfile_sidedata.opener = self.opener + self._inner.opener = self.opener + self._inner._segmentfile.opener = self.opener + self._inner._segmentfile_sidedata.opener = self.opener if self._divert: return True