mercurial/changegroup.py
changeset 27752 29cfc474c5fd
parent 27751 a40e2f7fe49d
child 27753 d4071cc73f46
--- a/mercurial/changegroup.py	Tue Jan 12 21:01:06 2016 -0800
+++ b/mercurial/changegroup.py	Tue Jan 12 21:23:45 2016 -0800
@@ -922,7 +922,13 @@
 }
 
 def supportedversions(repo):
-    return _packermap.keys()
+    versions = _packermap.keys()
+    cg3 = ('treemanifest' in repo.requirements or
+           repo.ui.configbool('experimental', 'changegroup3') or
+           repo.ui.configbool('experimental', 'treemanifest'))
+    if not cg3:
+        versions.remove('03')
+    return versions
 
 def getbundler(version, repo, bundlecaps=None):
     assert version in supportedversions(repo)