equal
deleted
inserted
replaced
6 # GNU General Public License version 2 or any later version. |
6 # GNU General Public License version 2 or any later version. |
7 |
7 |
8 from __future__ import absolute_import |
8 from __future__ import absolute_import |
9 |
9 |
10 import stat |
10 import stat |
11 import tempfile |
|
12 |
11 |
13 from .i18n import _ |
12 from .i18n import _ |
14 from . import ( |
13 from . import ( |
15 changelog, |
14 changelog, |
16 error, |
15 error, |
17 filelog, |
16 filelog, |
18 hg, |
17 hg, |
19 localrepo, |
18 localrepo, |
20 manifest, |
19 manifest, |
|
20 pycompat, |
21 revlog, |
21 revlog, |
22 scmutil, |
22 scmutil, |
23 util, |
23 util, |
24 vfs as vfsmod, |
24 vfs as vfsmod, |
25 ) |
25 ) |
655 |
655 |
656 _finishdatamigration(ui, srcrepo, dstrepo, requirements) |
656 _finishdatamigration(ui, srcrepo, dstrepo, requirements) |
657 |
657 |
658 ui.write(_('data fully migrated to temporary repository\n')) |
658 ui.write(_('data fully migrated to temporary repository\n')) |
659 |
659 |
660 backuppath = tempfile.mkdtemp(prefix='upgradebackup.', dir=srcrepo.path) |
660 backuppath = pycompat.mkdtemp(prefix='upgradebackup.', dir=srcrepo.path) |
661 backupvfs = vfsmod.vfs(backuppath) |
661 backupvfs = vfsmod.vfs(backuppath) |
662 |
662 |
663 # Make a backup of requires file first, as it is the first to be modified. |
663 # Make a backup of requires file first, as it is the first to be modified. |
664 util.copyfile(srcrepo.vfs.join('requires'), backupvfs.join('requires')) |
664 util.copyfile(srcrepo.vfs.join('requires'), backupvfs.join('requires')) |
665 |
665 |
840 # Our strategy for upgrading the repository is to create a new, |
840 # Our strategy for upgrading the repository is to create a new, |
841 # temporary repository, write data to it, then do a swap of the |
841 # temporary repository, write data to it, then do a swap of the |
842 # data. There are less heavyweight ways to do this, but it is easier |
842 # data. There are less heavyweight ways to do this, but it is easier |
843 # to create a new repo object than to instantiate all the components |
843 # to create a new repo object than to instantiate all the components |
844 # (like the store) separately. |
844 # (like the store) separately. |
845 tmppath = tempfile.mkdtemp(prefix='upgrade.', dir=repo.path) |
845 tmppath = pycompat.mkdtemp(prefix='upgrade.', dir=repo.path) |
846 backuppath = None |
846 backuppath = None |
847 try: |
847 try: |
848 ui.write(_('creating temporary repository to stage migrated ' |
848 ui.write(_('creating temporary repository to stage migrated ' |
849 'data: %s\n') % tmppath) |
849 'data: %s\n') % tmppath) |
850 |
850 |