diff -r 0570351db4e7 -r 89ab2459f62a mercurial/requirements.py --- 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 }