mercurial/changegroup.py
changeset 47076 08e26ef4ad35
parent 47075 5554aacd783f
child 47077 119790e1c67c
--- a/mercurial/changegroup.py	Thu Apr 08 16:39:39 2021 +0200
+++ b/mercurial/changegroup.py	Thu Apr 08 16:34:11 2021 +0200
@@ -1689,11 +1689,14 @@
         #
         # (or even to push subset of history)
         needv03 = True
-    has_revlogv2 = requirements.REVLOGV2_REQUIREMENT in repo.requirements
-    if not has_revlogv2:
-        versions.discard(b'04')
     if not needv03:
         versions.discard(b'03')
+    want_v4 = (
+        repo.ui.configbool(b'experimental', b'changegroup4')
+        or requirements.REVLOGV2_REQUIREMENT in repo.requirements
+    )
+    if not want_v4:
+        versions.discard(b'04')
     return versions