--- a/tests/test-upgrade-repo.t Fri Jul 13 03:05:30 2018 +0200
+++ b/tests/test-upgrade-repo.t Fri Dec 21 13:17:58 2018 +0100
@@ -453,6 +453,8 @@
old store should be backed up
+ $ ls -d .hg/upgradebackup.*/
+ .hg/upgradebackup.*/ (glob)
$ ls .hg/upgradebackup.*/store
00changelog.i
00manifest.i
@@ -464,8 +466,47 @@
undo.backupfiles
undo.phaseroots
+unless --no-backup is passed
+
+ $ rm -rf .hg/upgradebackup.*/
+ $ hg debugupgraderepo --run --no-backup
+ upgrade will perform the following actions:
+
+ requirements
+ preserved: dotencode, fncache, generaldelta, revlogv1, store
+ added: sparserevlog
+
+ sparserevlog
+ Revlog supports delta chain with more unused data between payload. These gaps will be skipped at read time. This allows for better delta chains, making a better compression and faster exchange with server.
+
+ beginning upgrade...
+ repository locked and read-only
+ creating temporary repository to stage migrated data: $TESTTMP/upgradegd/.hg/upgrade.* (glob)
+ (it is safe to interrupt this process any time before data migration completes)
+ migrating 9 total revisions (3 in filelogs, 3 in manifests, 3 in changelog)
+ migrating 917 bytes in store; 401 bytes tracked data
+ migrating 3 filelogs containing 3 revisions (192 bytes in store; 0 bytes tracked data)
+ finished migrating 3 filelog revisions across 3 filelogs; change in size: 0 bytes
+ migrating 1 manifests containing 3 revisions (349 bytes in store; 220 bytes tracked data)
+ finished migrating 3 manifest revisions across 1 manifests; change in size: 0 bytes
+ migrating changelog containing 3 revisions (376 bytes in store; 181 bytes tracked data)
+ finished migrating 3 changelog revisions; change in size: 0 bytes
+ finished migrating 9 total revisions; total change in store size: 0 bytes
+ copying phaseroots
+ data fully migrated to temporary repository
+ marking source repository as being upgraded; clients will be unable to read from repository
+ starting in-place swap of repository data
+ replaced files will be backed up at $TESTTMP/upgradegd/.hg/upgradebackup.* (glob)
+ replacing store...
+ store replacement complete; repository was inconsistent for 0.0s
+ finalizing requirements file and making repository readable again
+ removing old repository content$TESTTMP/upgradegd/.hg/upgradebackup.* (glob)
+ removing temporary repository $TESTTMP/upgradegd/.hg/upgrade.* (glob)
+ $ ls -1 .hg/ | grep upgradebackup
+ [1]
$ cd ..
+
store files with special filenames aren't encoded during copy
$ hg init store-filenames