45
46
class TestUpgrade(TestCaseWithTransport):
47
def test_build_tree(self):
48
"""Test tree-building test helper"""
49
self.build_tree_contents(_upgrade1_template)
50
self.failUnlessExists('foo')
51
self.failUnlessExists('.bzr/README')
53
48
def test_upgrade_simple(self):
54
49
"""Upgrade simple v0.0.4 format to latest format"""
55
50
eq = self.assertEquals
82
77
# check a backup was made:
83
transport = get_transport(b.base)
84
transport.stat('backup.bzr')
85
transport.stat('backup.bzr/README')
86
transport.stat('backup.bzr/branch-format')
87
transport.stat('backup.bzr/revision-history')
88
transport.stat('backup.bzr/merged-patches')
89
transport.stat('backup.bzr/pending-merged-patches')
90
transport.stat('backup.bzr/pending-merges')
91
transport.stat('backup.bzr/branch-name')
92
transport.stat('backup.bzr/branch-lock')
93
transport.stat('backup.bzr/inventory')
94
transport.stat('backup.bzr/stat-cache')
95
transport.stat('backup.bzr/text-store')
96
transport.stat('backup.bzr/text-store/foo-20051004035611-1591048e9dc7c2d4.gz')
97
transport.stat('backup.bzr/text-store/foo-20051004035756-4081373d897c3453.gz')
98
transport.stat('backup.bzr/inventory-store/')
99
transport.stat('backup.bzr/inventory-store/mbp@sourcefrog.net-20051004035611-176b16534b086b3c.gz')
100
transport.stat('backup.bzr/inventory-store/mbp@sourcefrog.net-20051004035756-235f2b7dcdddd8dd.gz')
101
transport.stat('backup.bzr/revision-store/')
102
transport.stat('backup.bzr/revision-store/mbp@sourcefrog.net-20051004035611-176b16534b086b3c.gz')
103
transport.stat('backup.bzr/revision-store/mbp@sourcefrog.net-20051004035756-235f2b7dcdddd8dd.gz')
78
backup_dir = 'backup.bzr.~1~'
79
t = transport.get_transport(b.base)
81
t.stat(backup_dir + '/README')
82
t.stat(backup_dir + '/branch-format')
83
t.stat(backup_dir + '/revision-history')
84
t.stat(backup_dir + '/merged-patches')
85
t.stat(backup_dir + '/pending-merged-patches')
86
t.stat(backup_dir + '/pending-merges')
87
t.stat(backup_dir + '/branch-name')
88
t.stat(backup_dir + '/branch-lock')
89
t.stat(backup_dir + '/inventory')
90
t.stat(backup_dir + '/stat-cache')
91
t.stat(backup_dir + '/text-store')
92
t.stat(backup_dir + '/text-store/foo-20051004035611-1591048e9dc7c2d4.gz')
93
t.stat(backup_dir + '/text-store/foo-20051004035756-4081373d897c3453.gz')
94
t.stat(backup_dir + '/inventory-store/')
95
t.stat(backup_dir + '/inventory-store/mbp@sourcefrog.net-20051004035611-176b16534b086b3c.gz')
96
t.stat(backup_dir + '/inventory-store/mbp@sourcefrog.net-20051004035756-235f2b7dcdddd8dd.gz')
97
t.stat(backup_dir + '/revision-store/')
98
t.stat(backup_dir + '/revision-store/mbp@sourcefrog.net-20051004035611-176b16534b086b3c.gz')
99
t.stat(backup_dir + '/revision-store/mbp@sourcefrog.net-20051004035756-235f2b7dcdddd8dd.gz')
105
101
def test_upgrade_with_ghosts(self):
106
102
"""Upgrade v0.0.4 tree containing ghost references.
153
149
# such a branch to metadir must not setup a working tree.
154
150
self.build_tree_contents(_upgrade1_template)
155
151
upgrade('.', bzrdir.BzrDirFormat6())
156
transport = get_transport('.')
157
transport.delete_multi(['.bzr/pending-merges', '.bzr/inventory'])
158
self.assertFalse(transport.has('.bzr/stat-cache'))
152
t = transport.get_transport('.')
153
t.delete_multi(['.bzr/pending-merges', '.bzr/inventory'])
154
self.assertFalse(t.has('.bzr/stat-cache'))
159
155
# XXX: upgrade fails if a backup.bzr is already present
160
156
# -- David Allouche 2006-08-11
161
transport.delete_tree('backup.bzr')
157
t.delete_tree('backup.bzr.~1~')
162
158
# At this point, we have a format6 branch without checkout files.
163
159
upgrade('.', bzrdir.BzrDirMetaFormat1())
164
160
# The upgrade should not have set up a working tree.
186
182
branch.set_push_location('file:///IJ')
187
183
target = bzrdir.format_registry.make_bzrdir('dirstate-with-subtree')
188
184
converter = branch.bzrdir._format.get_converter(target)
189
converter.convert(branch.bzrdir, progress.DummyProgress())
185
converter.convert(branch.bzrdir, None)
190
186
new_branch = _mod_branch.Branch.open(self.get_url('branch'))
191
187
self.assertIs(new_branch.__class__, _mod_branch.BzrBranch6)
192
188
self.assertEqual('CD', new_branch.last_revision())
199
195
branch2 = self.make_branch('branch2', format='knit')
200
196
converter = branch2.bzrdir._format.get_converter(target)
201
converter.convert(branch2.bzrdir, progress.DummyProgress())
197
converter.convert(branch2.bzrdir, None)
202
198
branch2 = _mod_branch.Branch.open(self.get_url('branch'))
203
199
self.assertIs(branch2.__class__, _mod_branch.BzrBranch6)
207
203
target = bzrdir.format_registry.make_bzrdir('1.9')
208
204
target.set_branch_format(_mod_branch.BzrBranchFormat8())
209
205
converter = branch.bzrdir._format.get_converter(target)
210
converter.convert(branch.bzrdir, progress.DummyProgress())
206
converter.convert(branch.bzrdir, None)
211
207
branch = _mod_branch.Branch.open(self.get_url('branch'))
212
208
self.assertIs(branch.__class__, _mod_branch.BzrBranch8)
213
209
self.assertEqual({}, branch._get_all_reference_info())
217
213
tree = self.make_branch_and_tree('tree', format='knit')
218
214
target = bzrdir.format_registry.make_bzrdir('dirstate')
219
215
converter = tree.bzrdir._format.get_converter(target)
220
converter.convert(tree.bzrdir, progress.DummyProgress())
216
converter.convert(tree.bzrdir, None)
221
217
new_tree = workingtree.WorkingTree.open('tree')
222
218
self.assertIs(new_tree.__class__, workingtree_4.WorkingTree4)
223
219
self.assertEqual('null:', new_tree.last_revision())
230
226
tree.add(['file'], ['file-id'])
231
227
target = bzrdir.format_registry.make_bzrdir('dirstate')
232
228
converter = tree.bzrdir._format.get_converter(target)
233
converter.convert(tree.bzrdir, progress.DummyProgress())
229
converter.convert(tree.bzrdir, None)
234
230
new_tree = workingtree.WorkingTree.open('tree')
235
231
self.assertIs(new_tree.__class__, workingtree_4.WorkingTree4)
236
232
self.assertEqual('null:', new_tree.last_revision())
241
237
rev_id = tree.commit('first post')
242
238
target = bzrdir.format_registry.make_bzrdir('dirstate')
243
239
converter = tree.bzrdir._format.get_converter(target)
244
converter.convert(tree.bzrdir, progress.DummyProgress())
240
converter.convert(tree.bzrdir, None)
245
241
new_tree = workingtree.WorkingTree.open('tree')
246
242
self.assertIs(new_tree.__class__, workingtree_4.WorkingTree4)
247
243
self.assertEqual(rev_id, new_tree.last_revision())
258
254
tree.merge_from_branch(merge_tree.branch)
259
255
target = bzrdir.format_registry.make_bzrdir('dirstate')
260
256
converter = tree.bzrdir._format.get_converter(target)
261
converter.convert(tree.bzrdir, progress.DummyProgress())
257
converter.convert(tree.bzrdir, None)
262
258
new_tree = workingtree.WorkingTree.open('tree')
263
259
self.assertIs(new_tree.__class__, workingtree_4.WorkingTree4)
264
260
self.assertEqual(rev_id2, new_tree.last_revision())