changeset 52965:e189a555865c

dirstatemap: narrow the `wait_on_cfg` usage All other call site were going to go through this specific function anyway, so lets rationalize the use of this function.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Tue, 18 Feb 2025 22:30:55 +0100
parents 469b9a628b51
children 515196315b82
files mercurial/dirstatemap.py
diffstat 1 files changed, 4 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/dirstatemap.py	Tue Feb 18 22:24:08 2025 +0100
+++ b/mercurial/dirstatemap.py	Tue Feb 18 22:30:55 2025 +0100
@@ -194,14 +194,15 @@
         testing.wait_on_cfg(self._ui, b'dirstate.pre-read-file')
         try:
             with self._opendirstatefile() as fp:
-                return identity, fp.read(size)
+                data = fp.read(size)
         except FileNotFoundError:
             # File doesn't exist, so the current state is empty
-            return identity, b''
+            data = b''
+        testing.wait_on_cfg(self._ui, b'dirstate.post-docket-read-file')
+        return identity, data
 
     @property
     def docket(self) -> docketmod.DirstateDocket:
-        testing.wait_on_cfg(self._ui, b'dirstate.pre-read-file')
         if not self._docket:
             if not self._use_dirstate_v2:
                 raise error.ProgrammingError(
@@ -214,7 +215,6 @@
                 )
             else:
                 raise error.CorruptedDirstate(b"dirstate is not in v2 format")
-            testing.wait_on_cfg(self._ui, b'dirstate.post-docket-read-file')
         return self._docket
 
     def _read_v2_data(self):
@@ -413,7 +413,6 @@
     ### disk interaction
 
     def read(self):
-        testing.wait_on_cfg(self._ui, b'dirstate.pre-read-file')
         if self._use_dirstate_v2:
             try:
                 self.docket
@@ -423,7 +422,6 @@
             else:
                 if not self.docket.uuid:
                     return
-                testing.wait_on_cfg(self._ui, b'dirstate.post-docket-read-file')
                 st = self._read_v2_data()
         else:
             self.identity, st = self._readdirstatefile()
@@ -697,7 +695,6 @@
             """
             # ignore HG_PENDING because identity is used only for writing
 
-            testing.wait_on_cfg(self._ui, b'dirstate.pre-read-file')
             if self._use_dirstate_v2:
                 try:
                     self.docket
@@ -707,9 +704,6 @@
                 else:
                     parents = self.docket.parents
                     identity = self._get_rust_identity()
-                    testing.wait_on_cfg(
-                        self._ui, b'dirstate.post-docket-read-file'
-                    )
                     if not self.docket.uuid:
                         data = b''
                         self._map = rustmod.DirstateMap.new_empty()