diff mercurial/manifest.py @ 50667:32837c7e2e4b

revlog: add a `get_revlog` method This might seen weird, but I actually thing we have been needing this for a long time. There is multiple object that kind of pretend being revlogs while actually wrapping the actual revlog. Since multiple code needs to access the actuel revlog. See documentation for more details. Expect cleanup of various places one the current series is done.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Sun, 28 May 2023 05:23:46 +0200
parents 0ec94359eae8
children d718eddf01d9
line wrap: on
line diff
--- a/mercurial/manifest.py	Mon May 29 04:26:39 2023 +0200
+++ b/mercurial/manifest.py	Sun May 28 05:23:46 2023 +0200
@@ -1617,6 +1617,15 @@
         self.index = self._revlog.index
         self._generaldelta = self._revlog._generaldelta
 
+    def get_revlog(self):
+        """return an actual revlog instance if any
+
+        This exist because a lot of code leverage the fact the underlying
+        storage is a revlog for optimization, so giving simple way to access
+        the revlog instance helps such code.
+        """
+        return self._revlog
+
     def _setupmanifestcachehooks(self, repo):
         """Persist the manifestfulltextcache on lock release"""
         if not util.safehasattr(repo, '_wlockref'):