mercurial/store.py
changeset 51547 8e2a68e10f5c
parent 50929 18c8c18993f0
child 51552 49faa72b994e
--- a/mercurial/store.py	Tue Mar 26 08:43:20 2024 +0000
+++ b/mercurial/store.py	Tue Mar 26 18:55:40 2024 +0000
@@ -453,6 +453,10 @@
                 self._file_size = 0
         return self._file_size
 
+    @property
+    def has_size(self):
+        return self._file_size is not None
+
     def get_stream(self, vfs, copies):
         """return data "stream" information for this file
 
@@ -601,7 +605,8 @@
         max_changeset=None,
         preserve_file_count=False,
     ):
-        if (
+        pre_sized = all(f.has_size for f in self.files())
+        if pre_sized and (
             repo is None
             or max_changeset is None
             # This use revlog-v2, ignore for now