mercurial/revlogutils/randomaccessfile.py
changeset 51103 d83d788590a8
parent 51100 222b89224397
child 51179 a93e52f0b6ff
--- a/mercurial/revlogutils/randomaccessfile.py	Thu Oct 26 05:37:37 2023 +0200
+++ b/mercurial/revlogutils/randomaccessfile.py	Tue Oct 24 11:08:49 2023 +0200
@@ -116,6 +116,8 @@
         if initial_cache:
             self._cached_chunk_position, self._cached_chunk = initial_cache
 
+        self._delay_buffer = None
+
     def clear_cache(self):
         self._cached_chunk = b''
         self._cached_chunk_position = 0
@@ -131,7 +133,12 @@
 
     def _open(self, mode=b'r'):
         """Return a file object"""
-        return self.opener(self.filename, mode=mode)
+        if self._delay_buffer is None:
+            return self.opener(self.filename, mode=mode)
+        else:
+            return appender(
+                self.opener, self.filename, mode, self._delay_buffer
+            )
 
     @contextlib.contextmanager
     def _read_handle(self):