mercurial/changegroup.py
changeset 43059 4bbc9569e722
parent 42897 d7304434390f
child 43076 2372284d9457
equal deleted inserted replaced
43058:808a57a08470 43059:4bbc9569e722
  1279              '03': (_makecg3packer, cg3unpacker),
  1279              '03': (_makecg3packer, cg3unpacker),
  1280 }
  1280 }
  1281 
  1281 
  1282 def allsupportedversions(repo):
  1282 def allsupportedversions(repo):
  1283     versions = set(_packermap.keys())
  1283     versions = set(_packermap.keys())
  1284     if not (repo.ui.configbool('experimental', 'changegroup3') or
  1284     needv03 = False
  1285             repo.ui.configbool('experimental', 'treemanifest') or
  1285     if (repo.ui.configbool('experimental', 'changegroup3') or
  1286             'treemanifest' in repo.requirements):
  1286         repo.ui.configbool('experimental', 'treemanifest') or
       
  1287         'treemanifest' in repo.requirements):
       
  1288         # we keep version 03 because we need to to exchange treemanifest data
       
  1289         #
       
  1290         # we also keep vresion 01 and 02, because it is possible for repo to
       
  1291         # contains both normal and tree manifest at the same time. so using
       
  1292         # older version to pull data is viable
       
  1293         #
       
  1294         # (or even to push subset of history)
       
  1295         needv03 = True
       
  1296     if not needv03:
  1287         versions.discard('03')
  1297         versions.discard('03')
  1288     return versions
  1298     return versions
  1289 
  1299 
  1290 # Changegroup versions that can be applied to the repo
  1300 # Changegroup versions that can be applied to the repo
  1291 def supportedincomingversions(repo):
  1301 def supportedincomingversions(repo):