tests/test-upgrade-repo.t
changeset 44798 e295ba238bd8
parent 44797 5ee4b2119af9
child 44799 ea9563e9e65a
equal deleted inserted replaced
44797:5ee4b2119af9 44798:e295ba238bd8
   172   
   172   
   173   re-delta-fulladd
   173   re-delta-fulladd
   174      every revision will be re-added as if it was new content. It will go through the full storage mechanism giving extensions a chance to process it (eg. lfs). This is similar to "re-delta-all" but even slower since more logic is involved.
   174      every revision will be re-added as if it was new content. It will go through the full storage mechanism giving extensions a chance to process it (eg. lfs). This is similar to "re-delta-all" but even slower since more logic is involved.
   175   
   175   
   176 
   176 
       
   177   $ hg debugupgraderepo --quiet
       
   178   requirements
       
   179      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
       
   180   
       
   181 
   177 --optimize can be used to add optimizations
   182 --optimize can be used to add optimizations
   178 
   183 
   179   $ hg debugupgrade --optimize redeltaparent
   184   $ hg debugupgrade --optimize redeltaparent
   180   (no feature deficiencies found in existing repository)
   185   (no feature deficiencies found in existing repository)
   181   performing an upgrade with "--run" will make the following changes:
   186   performing an upgrade with "--run" will make the following changes:
   222   re-delta-all
   227   re-delta-all
   223      deltas within internal storage will always be recalculated without reusing prior deltas; this will likely make execution run several times slower; this optimization is typically not needed
   228      deltas within internal storage will always be recalculated without reusing prior deltas; this will likely make execution run several times slower; this optimization is typically not needed
   224   
   229   
   225   re-delta-fulladd
   230   re-delta-fulladd
   226      every revision will be re-added as if it was new content. It will go through the full storage mechanism giving extensions a chance to process it (eg. lfs). This is similar to "re-delta-all" but even slower since more logic is involved.
   231      every revision will be re-added as if it was new content. It will go through the full storage mechanism giving extensions a chance to process it (eg. lfs). This is similar to "re-delta-all" but even slower since more logic is involved.
       
   232   
       
   233   $ hg debugupgrade --optimize re-delta-parent --quiet
       
   234   requirements
       
   235      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
       
   236   
       
   237   optimisations: re-delta-parent
   227   
   238   
   228 
   239 
   229 unknown optimization:
   240 unknown optimization:
   230 
   241 
   231   $ hg debugupgrade --optimize foobar
   242   $ hg debugupgrade --optimize foobar
   330      deltas within internal storage will always be recalculated without reusing prior deltas; this will likely make execution run several times slower; this optimization is typically not needed
   341      deltas within internal storage will always be recalculated without reusing prior deltas; this will likely make execution run several times slower; this optimization is typically not needed
   331   
   342   
   332   re-delta-fulladd
   343   re-delta-fulladd
   333      every revision will be re-added as if it was new content. It will go through the full storage mechanism giving extensions a chance to process it (eg. lfs). This is similar to "re-delta-all" but even slower since more logic is involved.
   344      every revision will be re-added as if it was new content. It will go through the full storage mechanism giving extensions a chance to process it (eg. lfs). This is similar to "re-delta-all" but even slower since more logic is involved.
   334   
   345   
       
   346   $ hg debugupgraderepo --quiet
       
   347   requirements
       
   348      preserved: revlogv1, store
       
   349      added: dotencode, fncache, generaldelta, sparserevlog
       
   350   
   335 
   351 
   336   $ hg --config format.dotencode=false debugupgraderepo
   352   $ hg --config format.dotencode=false debugupgraderepo
   337   repository lacks features recommended by current config options:
   353   repository lacks features recommended by current config options:
   338   
   354   
   339   fncache
   355   fncache
  1208   generaldelta
  1224   generaldelta
  1209   revlogv1
  1225   revlogv1
  1210   store
  1226   store
  1211 
  1227 
  1212 Check that we can add the sparse-revlog format requirement
  1228 Check that we can add the sparse-revlog format requirement
  1213   $ hg --config format.sparse-revlog=yes debugupgraderepo --run >/dev/null
  1229   $ hg --config format.sparse-revlog=yes debugupgraderepo --run --quiet
  1214   copy of old repository backed up at $TESTTMP/sparserevlogrepo/.hg/upgradebackup.* (glob)
  1230   upgrade will perform the following actions:
  1215   the old repository will not be deleted; remove it to free up disk space once the upgraded repository is verified
  1231   
       
  1232   requirements
       
  1233      preserved: dotencode, fncache, generaldelta, revlogv1, store
       
  1234      added: sparserevlog
       
  1235   
  1216   $ cat .hg/requires
  1236   $ cat .hg/requires
  1217   dotencode
  1237   dotencode
  1218   fncache
  1238   fncache
  1219   generaldelta
  1239   generaldelta
  1220   revlogv1
  1240   revlogv1
  1221   sparserevlog
  1241   sparserevlog
  1222   store
  1242   store
  1223 
  1243 
  1224 Check that we can remove the sparse-revlog format requirement
  1244 Check that we can remove the sparse-revlog format requirement
  1225   $ hg --config format.sparse-revlog=no debugupgraderepo --run >/dev/null
  1245   $ hg --config format.sparse-revlog=no debugupgraderepo --run --quiet
  1226   copy of old repository backed up at $TESTTMP/sparserevlogrepo/.hg/upgradebackup.* (glob)
  1246   upgrade will perform the following actions:
  1227   the old repository will not be deleted; remove it to free up disk space once the upgraded repository is verified
  1247   
       
  1248   requirements
       
  1249      preserved: dotencode, fncache, generaldelta, revlogv1, store
       
  1250      removed: sparserevlog
       
  1251   
  1228   $ cat .hg/requires
  1252   $ cat .hg/requires
  1229   dotencode
  1253   dotencode
  1230   fncache
  1254   fncache
  1231   generaldelta
  1255   generaldelta
  1232   revlogv1
  1256   revlogv1
  1237 Check upgrading to a zstd revlog
  1261 Check upgrading to a zstd revlog
  1238 --------------------------------
  1262 --------------------------------
  1239 
  1263 
  1240 upgrade
  1264 upgrade
  1241 
  1265 
  1242   $ hg --config format.revlog-compression=zstd debugupgraderepo --run  --no-backup >/dev/null
  1266   $ hg --config format.revlog-compression=zstd debugupgraderepo --run  --no-backup --quiet
       
  1267   upgrade will perform the following actions:
       
  1268   
       
  1269   requirements
       
  1270      preserved: dotencode, fncache, generaldelta, revlogv1, store
       
  1271      added: revlog-compression-zstd, sparserevlog
       
  1272   
  1243   $ hg debugformat -v
  1273   $ hg debugformat -v
  1244   format-variant    repo config default
  1274   format-variant    repo config default
  1245   fncache:           yes    yes     yes
  1275   fncache:           yes    yes     yes
  1246   dotencode:         yes    yes     yes
  1276   dotencode:         yes    yes     yes
  1247   generaldelta:      yes    yes     yes
  1277   generaldelta:      yes    yes     yes
  1260   sparserevlog
  1290   sparserevlog
  1261   store
  1291   store
  1262 
  1292 
  1263 downgrade
  1293 downgrade
  1264 
  1294 
  1265   $ hg debugupgraderepo --run --no-backup > /dev/null
  1295   $ hg debugupgraderepo --run --no-backup --quiet
       
  1296   upgrade will perform the following actions:
       
  1297   
       
  1298   requirements
       
  1299      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
       
  1300      removed: revlog-compression-zstd
       
  1301   
  1266   $ hg debugformat -v
  1302   $ hg debugformat -v
  1267   format-variant    repo config default
  1303   format-variant    repo config default
  1268   fncache:           yes    yes     yes
  1304   fncache:           yes    yes     yes
  1269   dotencode:         yes    yes     yes
  1305   dotencode:         yes    yes     yes
  1270   generaldelta:      yes    yes     yes
  1306   generaldelta:      yes    yes     yes
  1286 
  1322 
  1287   $ cat >> .hg/hgrc << EOF
  1323   $ cat >> .hg/hgrc << EOF
  1288   > [format]
  1324   > [format]
  1289   > revlog-compression=zstd
  1325   > revlog-compression=zstd
  1290   > EOF
  1326   > EOF
  1291   $ hg debugupgraderepo --run --no-backup > /dev/null
  1327   $ hg debugupgraderepo --run --no-backup --quiet
       
  1328   upgrade will perform the following actions:
       
  1329   
       
  1330   requirements
       
  1331      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
       
  1332      added: revlog-compression-zstd
       
  1333   
  1292   $ hg debugformat -v
  1334   $ hg debugformat -v
  1293   format-variant    repo config default
  1335   format-variant    repo config default
  1294   fncache:           yes    yes     yes
  1336   fncache:           yes    yes     yes
  1295   dotencode:         yes    yes     yes
  1337   dotencode:         yes    yes     yes
  1296   generaldelta:      yes    yes     yes
  1338   generaldelta:      yes    yes     yes
  1314 Check upgrading to a side-data revlog
  1356 Check upgrading to a side-data revlog
  1315 -------------------------------------
  1357 -------------------------------------
  1316 
  1358 
  1317 upgrade
  1359 upgrade
  1318 
  1360 
  1319   $ hg --config format.exp-use-side-data=yes debugupgraderepo --run  --no-backup --config "extensions.sidedata=$TESTDIR/testlib/ext-sidedata.py" >/dev/null
  1361   $ hg --config format.exp-use-side-data=yes debugupgraderepo --run  --no-backup --config "extensions.sidedata=$TESTDIR/testlib/ext-sidedata.py" --quiet
       
  1362   upgrade will perform the following actions:
       
  1363   
       
  1364   requirements
       
  1365      preserved: dotencode, fncache, generaldelta, revlogv1, store (no-zstd !)
       
  1366      preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, revlogv1, sparserevlog, store (zstd !)
       
  1367      added: exp-sidedata-flag (zstd !)
       
  1368      added: exp-sidedata-flag, sparserevlog (no-zstd !)
       
  1369   
  1320   $ hg debugformat -v
  1370   $ hg debugformat -v
  1321   format-variant    repo config default
  1371   format-variant    repo config default
  1322   fncache:           yes    yes     yes
  1372   fncache:           yes    yes     yes
  1323   dotencode:         yes    yes     yes
  1373   dotencode:         yes    yes     yes
  1324   generaldelta:      yes    yes     yes
  1374   generaldelta:      yes    yes     yes
  1343    entry-0001 size 4
  1393    entry-0001 size 4
  1344    entry-0002 size 32
  1394    entry-0002 size 32
  1345 
  1395 
  1346 downgrade
  1396 downgrade
  1347 
  1397 
  1348   $ hg debugupgraderepo --config format.exp-use-side-data=no --run --no-backup > /dev/null
  1398   $ hg debugupgraderepo --config format.exp-use-side-data=no --run --no-backup --quiet
       
  1399   upgrade will perform the following actions:
       
  1400   
       
  1401   requirements
       
  1402      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-zstd !)
       
  1403      preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, revlogv1, sparserevlog, store (zstd !)
       
  1404      removed: exp-sidedata-flag
       
  1405   
  1349   $ hg debugformat -v
  1406   $ hg debugformat -v
  1350   format-variant    repo config default
  1407   format-variant    repo config default
  1351   fncache:           yes    yes     yes
  1408   fncache:           yes    yes     yes
  1352   dotencode:         yes    yes     yes
  1409   dotencode:         yes    yes     yes
  1353   generaldelta:      yes    yes     yes
  1410   generaldelta:      yes    yes     yes
  1372 
  1429 
  1373   $ cat >> .hg/hgrc << EOF
  1430   $ cat >> .hg/hgrc << EOF
  1374   > [format]
  1431   > [format]
  1375   > exp-use-side-data=yes
  1432   > exp-use-side-data=yes
  1376   > EOF
  1433   > EOF
  1377   $ hg debugupgraderepo --run --no-backup > /dev/null
  1434   $ hg debugupgraderepo --run --no-backup --quiet
       
  1435   upgrade will perform the following actions:
       
  1436   
       
  1437   requirements
       
  1438      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-zstd !)
       
  1439      preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, revlogv1, sparserevlog, store (zstd !)
       
  1440      added: exp-sidedata-flag
       
  1441   
  1378   $ hg debugformat -v
  1442   $ hg debugformat -v
  1379   format-variant    repo config default
  1443   format-variant    repo config default
  1380   fncache:           yes    yes     yes
  1444   fncache:           yes    yes     yes
  1381   dotencode:         yes    yes     yes
  1445   dotencode:         yes    yes     yes
  1382   generaldelta:      yes    yes     yes
  1446   generaldelta:      yes    yes     yes