comparison tests/test-upgrade-repo.t @ 31799:8110d49e0558 stable

repair: use rawvfs when copying extra store files If we use the normal vfs, store encoding will be applied when we .join() the path to be copied. This results in attempting to copy a file that (likely) doesn't exist. Using the rawvfs operates on the raw file path, which is returned by vfs.readdir(). Users at Mozilla are encountering this, as I've instructed them to run `hg debugupgraderepo` to upgrade to generaldelta. While Mercurial shouldn't deposit any files under .hg/store that require encoding, it is possible for e.g. .DS_Store files to be created by the operating system.
author Gregory Szorc <gregory.szorc@gmail.com>
date Sat, 08 Apr 2017 11:36:39 -0700
parents 8c9178d647f7
children 67b7e39b441b
comparison
equal deleted inserted replaced
31798:8c9178d647f7 31799:8110d49e0558
337 finished migrating 1 manifest revisions across 1 manifests; change in size: 0 bytes 337 finished migrating 1 manifest revisions across 1 manifests; change in size: 0 bytes
338 migrating changelog containing 1 revisions (63 bytes in store; 62 bytes tracked data) 338 migrating changelog containing 1 revisions (63 bytes in store; 62 bytes tracked data)
339 finished migrating 1 changelog revisions; change in size: 0 bytes 339 finished migrating 1 changelog revisions; change in size: 0 bytes
340 finished migrating 3 total revisions; total change in store size: 0 bytes 340 finished migrating 3 total revisions; total change in store size: 0 bytes
341 copying .XX_special_filename 341 copying .XX_special_filename
342 copying phaseroots
343 data fully migrated to temporary repository
344 marking source repository as being upgraded; clients will be unable to read from repository
345 starting in-place swap of repository data
346 replaced files will be backed up at $TESTTMP/store-filenames/.hg/upgradebackup.* (glob)
347 replacing store...
348 store replacement complete; repository was inconsistent for *s (glob)
349 finalizing requirements file and making repository readable again
342 removing temporary repository $TESTTMP/store-filenames/.hg/upgrade.* (glob) 350 removing temporary repository $TESTTMP/store-filenames/.hg/upgrade.* (glob)
343 abort: No such file or directory: $TESTTMP/store-filenames/.hg/store/~2e_x_x__special__filename 351 copy of old repository backed up at $TESTTMP/store-filenames/.hg/upgradebackup.* (glob)
344 [255] 352 the old repository will not be deleted; remove it to free up disk space once the upgraded repository is verified
345 353
346 $ cd .. 354 $ cd ..