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): |