From patchwork Sat Sep 28 20:28:43 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: D6902: upgrade: create the correct destination directory for copies revlogs From: phabricator X-Patchwork-Id: 41822 Message-Id: To: Phabricator Cc: mercurial-devel@mercurial-scm.org Date: Sat, 28 Sep 2019 20:28:43 +0000 Closed by commit rHGbb6902cbbe23: upgrade: create the correct destination directory for copies revlogs (authored by marmoute). This revision was automatically updated to reflect the committed changes. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D6902?vs=16664&id=16671 CHANGES SINCE LAST ACTION https://phab.mercurial-scm.org/D6902/new/ REVISION DETAIL https://phab.mercurial-scm.org/D6902 AFFECTED FILES mercurial/upgrade.py tests/test-upgrade-repo.t CHANGE DETAILS To: marmoute, #hg-reviewers, indygreg Cc: mercurial-devel diff --git a/tests/test-upgrade-repo.t b/tests/test-upgrade-repo.t --- a/tests/test-upgrade-repo.t +++ b/tests/test-upgrade-repo.t @@ -381,7 +381,8 @@ $ cd upgradegd $ touch f0 $ hg -q commit -A -m initial - $ touch f1 + $ mkdir FooBarDirectory.d + $ touch FooBarDirectory.d/f1 $ hg -q commit -A -m 'add f1' $ hg -q up -r 0 $ touch f2 @@ -402,12 +403,12 @@ 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 953 bytes in store; 437 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) + migrating 1 manifests containing 3 revisions (367 bytes in store; 238 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) + migrating changelog containing 3 revisions (394 bytes in store; 199 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 @@ -498,12 +499,12 @@ 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 953 bytes in store; 437 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) + migrating 1 manifests containing 3 revisions (367 bytes in store; 238 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) + migrating changelog containing 3 revisions (394 bytes in store; 199 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 @@ -535,16 +536,16 @@ 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 953 bytes in store; 437 bytes tracked data migrating 3 filelogs containing 3 revisions (192 bytes in store; 0 bytes tracked data) + blindly copying data/FooBarDirectory.d/f1.i containing 1 revisions blindly copying data/f0.i containing 1 revisions - blindly copying data/f1.i containing 1 revisions blindly copying data/f2.i containing 1 revisions 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) + migrating 1 manifests containing 3 revisions (367 bytes in store; 238 bytes tracked data) cloning 3 revisions from 00manifest.i 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) + migrating changelog containing 3 revisions (394 bytes in store; 199 bytes tracked data) blindly copying 00changelog.i containing 3 revisions finished migrating 3 changelog revisions; change in size: 0 bytes finished migrating 9 total revisions; total change in store size: 0 bytes @@ -570,7 +571,7 @@ | summary: add f2 | | - | o changeset: 1:da8c0fc4833c + | o changeset: 1:2029ce2354e2 |/ user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: add f1 @@ -606,16 +607,16 @@ 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 953 bytes in store; 437 bytes tracked data migrating 3 filelogs containing 3 revisions (192 bytes in store; 0 bytes tracked data) + cloning 1 revisions from data/FooBarDirectory.d/f1.i cloning 1 revisions from data/f0.i - cloning 1 revisions from data/f1.i cloning 1 revisions from data/f2.i 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) + migrating 1 manifests containing 3 revisions (367 bytes in store; 238 bytes tracked data) blindly copying 00manifest.i containing 3 revisions 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) + migrating changelog containing 3 revisions (394 bytes in store; 199 bytes tracked data) cloning 3 revisions from 00changelog.i finished migrating 3 changelog revisions; change in size: 0 bytes finished migrating 9 total revisions; total change in store size: 0 bytes @@ -652,16 +653,16 @@ 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 953 bytes in store; 437 bytes tracked data migrating 3 filelogs containing 3 revisions (192 bytes in store; 0 bytes tracked data) + blindly copying data/FooBarDirectory.d/f1.i containing 1 revisions blindly copying data/f0.i containing 1 revisions - blindly copying data/f1.i containing 1 revisions blindly copying data/f2.i containing 1 revisions 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) + migrating 1 manifests containing 3 revisions (367 bytes in store; 238 bytes tracked data) blindly copying 00manifest.i containing 3 revisions 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) + migrating changelog containing 3 revisions (394 bytes in store; 199 bytes tracked data) cloning 3 revisions from 00changelog.i finished migrating 3 changelog revisions; change in size: 0 bytes finished migrating 9 total revisions; total change in store size: 0 bytes @@ -698,16 +699,16 @@ 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 953 bytes in store; 437 bytes tracked data migrating 3 filelogs containing 3 revisions (192 bytes in store; 0 bytes tracked data) + cloning 1 revisions from data/FooBarDirectory.d/f1.i cloning 1 revisions from data/f0.i - cloning 1 revisions from data/f1.i cloning 1 revisions from data/f2.i 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) + migrating 1 manifests containing 3 revisions (367 bytes in store; 238 bytes tracked data) blindly copying 00manifest.i containing 3 revisions 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) + migrating changelog containing 3 revisions (394 bytes in store; 199 bytes tracked data) blindly copying 00changelog.i containing 3 revisions finished migrating 3 changelog revisions; change in size: 0 bytes finished migrating 9 total revisions; total change in store size: 0 bytes @@ -749,16 +750,16 @@ 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 953 bytes in store; 437 bytes tracked data migrating 3 filelogs containing 3 revisions (192 bytes in store; 0 bytes tracked data) + cloning 1 revisions from data/FooBarDirectory.d/f1.i cloning 1 revisions from data/f0.i - cloning 1 revisions from data/f1.i cloning 1 revisions from data/f2.i 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) + migrating 1 manifests containing 3 revisions (367 bytes in store; 238 bytes tracked data) cloning 3 revisions from 00manifest.i 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) + migrating changelog containing 3 revisions (394 bytes in store; 199 bytes tracked data) cloning 3 revisions from 00changelog.i finished migrating 3 changelog revisions; change in size: 0 bytes finished migrating 9 total revisions; total change in store size: 0 bytes @@ -801,16 +802,16 @@ 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 953 bytes in store; 437 bytes tracked data migrating 3 filelogs containing 3 revisions (192 bytes in store; 0 bytes tracked data) + cloning 1 revisions from data/FooBarDirectory.d/f1.i cloning 1 revisions from data/f0.i - cloning 1 revisions from data/f1.i cloning 1 revisions from data/f2.i 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) + migrating 1 manifests containing 3 revisions (367 bytes in store; 238 bytes tracked data) cloning 3 revisions from 00manifest.i 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) + migrating changelog containing 3 revisions (394 bytes in store; 199 bytes tracked data) cloning 3 revisions from 00changelog.i finished migrating 3 changelog revisions; change in size: 0 bytes finished migrating 9 total revisions; total change in store size: 0 bytes diff --git a/mercurial/upgrade.py b/mercurial/upgrade.py --- a/mercurial/upgrade.py +++ b/mercurial/upgrade.py @@ -557,8 +557,8 @@ olddata = oldvfs.join(oldrl.datafile) newdata = newvfs.join(newrl.datafile) - newdir = newvfs.dirname(newrl.indexfile) - newvfs.makedirs(newdir) + with newvfs(newrl.indexfile, 'w'): + pass # create all the directories util.copyfile(oldindex, newindex) if oldrl.opener.exists(olddata):