Mercurial > hg
changeset 35361:b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
The test also shows that the local blob store is erroneously lost.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Thu, 07 Dec 2017 22:36:31 -0500 |
parents | 6699825f1242 |
children | 79968f91ad0c |
files | tests/test-upgrade-repo.t |
diffstat | 1 files changed, 64 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test-upgrade-repo.t Thu Dec 07 22:35:19 2017 -0500 +++ b/tests/test-upgrade-repo.t Thu Dec 07 22:36:31 2017 -0500 @@ -514,6 +514,70 @@ revlogv1 store + $ cat << EOF >> .hg/hgrc + > [extensions] + > lfs = + > [lfs] + > threshold = 10 + > EOF + $ echo '123456789012345' > lfs.bin + $ hg ci -Am 'lfs.bin' + adding lfs.bin + $ grep lfs .hg/requires + lfs + $ find .hg/store/lfs -type f + .hg/store/lfs/objects/d0/beab232adff5ba365880366ad30b1edb85c4c5372442b5d2fe27adc96d653f + + $ hg debugupgraderepo --run + upgrade will perform the following actions: + + requirements + preserved: dotencode, fncache, generaldelta, largefiles, lfs, revlogv1, store + + beginning upgrade... + repository locked and read-only + creating temporary repository to stage migrated data: $TESTTMP/largefilesrepo/.hg/upgrade.* (glob) + (it is safe to interrupt this process any time before data migration completes) + migrating 6 total revisions (2 in filelogs, 2 in manifests, 2 in changelog) + migrating 417 bytes in store; 467 bytes tracked data + migrating 2 filelogs containing 2 revisions (168 bytes in store; 182 bytes tracked data) + finished migrating 2 filelog revisions across 2 filelogs; change in size: 0 bytes + migrating 1 manifests containing 2 revisions (113 bytes in store; 151 bytes tracked data) + finished migrating 2 manifest revisions across 1 manifests; change in size: 0 bytes + migrating changelog containing 2 revisions (136 bytes in store; 134 bytes tracked data) + finished migrating 2 changelog revisions; change in size: 0 bytes + finished migrating 6 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/largefilesrepo/.hg/upgradebackup.* (glob) + replacing store... + store replacement complete; repository was inconsistent for *s (glob) + finalizing requirements file and making repository readable again + removing temporary repository $TESTTMP/largefilesrepo/.hg/upgrade.* (glob) + copy of old repository backed up at $TESTTMP/largefilesrepo/.hg/upgradebackup.* (glob) + the old repository will not be deleted; remove it to free up disk space once the upgraded repository is verified + + $ grep lfs .hg/requires + lfs +TODO: restore the local lfs store. For now, objects are copied from the user +cache as needed. + $ find .hg/store/lfs -type f + find: `.hg/store/lfs': $ENOENT$ + [1] + $ hg verify + checking changesets + checking manifests + crosschecking files in changesets and manifests + checking files + 2 files, 2 changesets, 2 total revisions + $ hg debugdata lfs.bin 0 + version https://git-lfs.github.com/spec/v1 + oid sha256:d0beab232adff5ba365880366ad30b1edb85c4c5372442b5d2fe27adc96d653f + size 16 + x-is-binary 0 + $ cd .. repository config is taken in account