##// END OF EJS Templates
debugupgraderepo: add a --no-backup mode...
Boris Feld -
r41121:a59a7472 default
parent child Browse files
Show More
@@ -2751,8 +2751,9 b' def debugupdatecaches(ui, repo, *pats, *'
2751 2751 @command('debugupgraderepo', [
2752 2752 ('o', 'optimize', [], _('extra optimization to perform'), _('NAME')),
2753 2753 ('', 'run', False, _('performs an upgrade')),
2754 ('', 'backup', True, _('keep the old repository content around')),
2754 2755 ])
2755 def debugupgraderepo(ui, repo, run=False, optimize=None):
2756 def debugupgraderepo(ui, repo, run=False, optimize=None, backup=True):
2756 2757 """upgrade a repository to use different features
2757 2758
2758 2759 If no arguments are specified, the repository is evaluated for upgrade
@@ -2771,7 +2772,8 b' def debugupgraderepo(ui, repo, run=False'
2771 2772 should complete almost instantaneously and the chances of a consumer being
2772 2773 unable to access the repository should be low.
2773 2774 """
2774 return upgrade.upgraderepo(ui, repo, run=run, optimize=optimize)
2775 return upgrade.upgraderepo(ui, repo, run=run, optimize=optimize,
2776 backup=backup)
2775 2777
2776 2778 @command('debugwalk', cmdutil.walkopts, _('[OPTION]... [FILE]...'),
2777 2779 inferrepo=True)
@@ -742,7 +742,7 b' def _upgraderepo(ui, srcrepo, dstrepo, r'
742 742
743 743 return backuppath
744 744
745 def upgraderepo(ui, repo, run=False, optimize=None):
745 def upgraderepo(ui, repo, run=False, optimize=None, backup=True):
746 746 """Upgrade a repository in place."""
747 747 if optimize is None:
748 748 optimize = []
@@ -899,6 +899,10 b' def upgraderepo(ui, repo, run=False, opt'
899 899 with dstrepo.wlock(), dstrepo.lock():
900 900 backuppath = _upgraderepo(ui, repo, dstrepo, newreqs,
901 901 upgradeactions)
902 if not (backup or backuppath is None):
903 ui.write(_('removing old repository content%s\n') % backuppath)
904 repo.vfs.rmtree(backuppath, forcibly=True)
905 backuppath = None
902 906
903 907 finally:
904 908 ui.write(_('removing temporary repository %s\n') % tmppath)
@@ -299,7 +299,7 b' Show all commands + options'
299 299 debuguigetpass: prompt
300 300 debuguiprompt: prompt
301 301 debugupdatecaches:
302 debugupgraderepo: optimize, run
302 debugupgraderepo: optimize, run, backup
303 303 debugwalk: include, exclude
304 304 debugwhyunstable:
305 305 debugwireargs: three, four, five, ssh, remotecmd, insecure
@@ -453,6 +453,8 b' verify should be happy'
453 453
454 454 old store should be backed up
455 455
456 $ ls -d .hg/upgradebackup.*/
457 .hg/upgradebackup.*/ (glob)
456 458 $ ls .hg/upgradebackup.*/store
457 459 00changelog.i
458 460 00manifest.i
@@ -464,8 +466,47 b' old store should be backed up'
464 466 undo.backupfiles
465 467 undo.phaseroots
466 468
469 unless --no-backup is passed
470
471 $ rm -rf .hg/upgradebackup.*/
472 $ hg debugupgraderepo --run --no-backup
473 upgrade will perform the following actions:
474
475 requirements
476 preserved: dotencode, fncache, generaldelta, revlogv1, store
477 added: sparserevlog
478
479 sparserevlog
480 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.
481
482 beginning upgrade...
483 repository locked and read-only
484 creating temporary repository to stage migrated data: $TESTTMP/upgradegd/.hg/upgrade.* (glob)
485 (it is safe to interrupt this process any time before data migration completes)
486 migrating 9 total revisions (3 in filelogs, 3 in manifests, 3 in changelog)
487 migrating 917 bytes in store; 401 bytes tracked data
488 migrating 3 filelogs containing 3 revisions (192 bytes in store; 0 bytes tracked data)
489 finished migrating 3 filelog revisions across 3 filelogs; change in size: 0 bytes
490 migrating 1 manifests containing 3 revisions (349 bytes in store; 220 bytes tracked data)
491 finished migrating 3 manifest revisions across 1 manifests; change in size: 0 bytes
492 migrating changelog containing 3 revisions (376 bytes in store; 181 bytes tracked data)
493 finished migrating 3 changelog revisions; change in size: 0 bytes
494 finished migrating 9 total revisions; total change in store size: 0 bytes
495 copying phaseroots
496 data fully migrated to temporary repository
497 marking source repository as being upgraded; clients will be unable to read from repository
498 starting in-place swap of repository data
499 replaced files will be backed up at $TESTTMP/upgradegd/.hg/upgradebackup.* (glob)
500 replacing store...
501 store replacement complete; repository was inconsistent for 0.0s
502 finalizing requirements file and making repository readable again
503 removing old repository content$TESTTMP/upgradegd/.hg/upgradebackup.* (glob)
504 removing temporary repository $TESTTMP/upgradegd/.hg/upgrade.* (glob)
505 $ ls -1 .hg/ | grep upgradebackup
506 [1]
467 507 $ cd ..
468 508
509
469 510 store files with special filenames aren't encoded during copy
470 511
471 512 $ hg init store-filenames
General Comments 0
You need to be logged in to leave comments. Login now