mercurial/requirements.py
branchstable
changeset 53028 89ab2459f62a
parent 51859 f4733654f144
--- a/mercurial/requirements.py	Tue Feb 25 20:21:43 2025 -0500
+++ b/mercurial/requirements.py	Wed Mar 05 11:41:45 2025 +0100
@@ -105,22 +105,13 @@
     DIRSTATE_V2_REQUIREMENT,
 }
 
-# List of requirement that impact "stream-clone" (and hardlink clone) and
-# cannot be changed in such cases.
-#
-# requirements not in this list are safe to be altered during stream-clone.
+# List of requirement that do not impact "stream-clone" (and hardlink clone) and
+# can be ignored in such case.
 #
-# note: the list is currently inherited from previous code and miss some relevant requirement while containing some irrelevant ones.
-STREAM_FIXED_REQUIREMENTS = {
-    ARCHIVED_PHASE_REQUIREMENT,
-    BOOKMARKS_IN_STORE_REQUIREMENT,
-    CHANGELOGV2_REQUIREMENT,
-    COPIESSDC_REQUIREMENT,
-    GENERALDELTA_REQUIREMENT,
-    INTERNAL_PHASE_REQUIREMENT,
-    REVLOG_COMPRESSION_ZSTD,
-    REVLOGV1_REQUIREMENT,
-    REVLOGV2_REQUIREMENT,
-    SPARSEREVLOG_REQUIREMENT,
-    TREEMANIFEST_REQUIREMENT,
+# requirements not in this list safe to be altered during stream-clone.
+STREAM_IGNORABLE_REQUIREMENTS = WORKING_DIR_REQUIREMENTS | {
+    DOTENCODE_REQUIREMENT,  # abstracted by the vfs layer
+    FNCACHE_REQUIREMENT,  # abstracted by the vfs layer
+    STORE_REQUIREMENT,  # abstracted by the vfs layer
+    NODEMAP_REQUIREMENT,  # Have some special logic to handle that case
 }