Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 Oct 2023 11:08:49 +0200] rev 51110
changelog-delay: move the delay/divert logic inside the (inner) revlog
Instead of hacking throught the vfs/opener, we implement the delay/divert logic
inside the `_InnerRevlog` and `randomaccessfile` object. This will allow to an
alternative implementation of the `_InnerRevlog` that does not need to use Python details.
As a result, the new implementation can use the transaction less agressively
and avoid some extra output since no data had been written yet. That seems like
a good side effect.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 26 Oct 2023 05:37:37 +0200] rev 51109
revlog: add a `canonical_index_file` attribute on inner revlog
This is currently the same and the index_file but it will become more complex
when we start doing delayed write.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 26 Oct 2023 03:41:58 +0200] rev 51108
changelog-delay: move "delayed" check to a more official API
To avoid reaching inside the inner object in the future, we needs some official
API. We put one of such API early to reduce the size of the final diff.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 26 Oct 2023 03:29:46 +0200] rev 51107
changelog-delay: move the appender class next to randomaccessfile
We want to move the delay/divert logic at the revlog level (to have all IO
related logic in the _InnerRevlog) we start with small piece that are easy to
move on their own.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2023 12:13:33 +0200] rev 51106
changelog-delay: adds some check around delaying and diverting write
Theses assert shows we never call delay or divert if the revlog hold file handle
on the revlog's file.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Oct 2023 23:14:20 +0200] rev 51105
revlog: consolidate cache invalidation within the inner objet
The invalidation of data that belong to the inner object can and should be
delegated to the inner object.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 Oct 2023 11:06:04 +0200] rev 51104
shelve: drop some weird manually stripping before transaction abort
I cannot find a case where this is actually useful, so lets triggering strip in
the middle of uncommitted transaction.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Oct 2023 05:19:55 +0200] rev 51103
revlog: move entry writing in the inner object
This is the second big piece of API we want to live on the inner object. With
this the inner object have freedom it needs to implement things internally.
(except for the delayed write feature of the changelog, that will be migrated in coming changesets)
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Oct 2023 04:11:39 +0200] rev 51102
revlog: move `sidedata` in the inner object
Same object as rawtext, but for sidedata.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Oct 2023 03:52:31 +0200] rev 51101
revlog: move the `rawtext` method on the inner object
This is one of the current core goal of the inner object: having a "simple" API
for some of the core revlog action, like getting a raw text, with the inner
object able to do that part internally, on its own.