13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
17
"""Tests for upgrade of old trees.
172
172
['mbp@sourcefrog.net-20051004035611-176b16534b086b3c',
173
173
'mbp@sourcefrog.net-20051004035756-235f2b7dcdddd8dd'])
175
def test_upgrade_rich_root(self):
176
tree = self.make_branch_and_tree('tree', format='rich-root')
177
rev_id = tree.commit('first post')
180
175
def test_convert_branch5_branch6(self):
181
176
branch = self.make_branch('branch', format='knit')
182
177
branch.set_revision_history(['AB', 'CD'])
185
180
branch.set_push_location('file:///IJ')
186
181
target = bzrdir.format_registry.make_bzrdir('dirstate-with-subtree')
187
182
converter = branch.bzrdir._format.get_converter(target)
188
converter.convert(branch.bzrdir, None)
183
converter.convert(branch.bzrdir, progress.DummyProgress())
189
184
new_branch = _mod_branch.Branch.open(self.get_url('branch'))
190
185
self.assertIs(new_branch.__class__, _mod_branch.BzrBranch6)
191
186
self.assertEqual('CD', new_branch.last_revision())
198
193
branch2 = self.make_branch('branch2', format='knit')
199
194
converter = branch2.bzrdir._format.get_converter(target)
200
converter.convert(branch2.bzrdir, None)
195
converter.convert(branch2.bzrdir, progress.DummyProgress())
201
196
branch2 = _mod_branch.Branch.open(self.get_url('branch'))
202
197
self.assertIs(branch2.__class__, _mod_branch.BzrBranch6)
204
def test_convert_branch7_branch8(self):
205
branch = self.make_branch('branch', format='1.9')
206
target = bzrdir.format_registry.make_bzrdir('1.9')
207
target.set_branch_format(_mod_branch.BzrBranchFormat8())
208
converter = branch.bzrdir._format.get_converter(target)
209
converter.convert(branch.bzrdir, None)
210
branch = _mod_branch.Branch.open(self.get_url('branch'))
211
self.assertIs(branch.__class__, _mod_branch.BzrBranch8)
212
self.assertEqual({}, branch._get_all_reference_info())
214
199
def test_convert_knit_dirstate_empty(self):
215
200
# test that asking for an upgrade from knit to dirstate works.
216
201
tree = self.make_branch_and_tree('tree', format='knit')
217
202
target = bzrdir.format_registry.make_bzrdir('dirstate')
218
203
converter = tree.bzrdir._format.get_converter(target)
219
converter.convert(tree.bzrdir, None)
204
converter.convert(tree.bzrdir, progress.DummyProgress())
220
205
new_tree = workingtree.WorkingTree.open('tree')
221
206
self.assertIs(new_tree.__class__, workingtree_4.WorkingTree4)
222
207
self.assertEqual('null:', new_tree.last_revision())
229
214
tree.add(['file'], ['file-id'])
230
215
target = bzrdir.format_registry.make_bzrdir('dirstate')
231
216
converter = tree.bzrdir._format.get_converter(target)
232
converter.convert(tree.bzrdir, None)
217
converter.convert(tree.bzrdir, progress.DummyProgress())
233
218
new_tree = workingtree.WorkingTree.open('tree')
234
219
self.assertIs(new_tree.__class__, workingtree_4.WorkingTree4)
235
220
self.assertEqual('null:', new_tree.last_revision())
240
225
rev_id = tree.commit('first post')
241
226
target = bzrdir.format_registry.make_bzrdir('dirstate')
242
227
converter = tree.bzrdir._format.get_converter(target)
243
converter.convert(tree.bzrdir, None)
228
converter.convert(tree.bzrdir, progress.DummyProgress())
244
229
new_tree = workingtree.WorkingTree.open('tree')
245
230
self.assertIs(new_tree.__class__, workingtree_4.WorkingTree4)
246
231
self.assertEqual(rev_id, new_tree.last_revision())
257
242
tree.merge_from_branch(merge_tree.branch)
258
243
target = bzrdir.format_registry.make_bzrdir('dirstate')
259
244
converter = tree.bzrdir._format.get_converter(target)
260
converter.convert(tree.bzrdir, None)
245
converter.convert(tree.bzrdir, progress.DummyProgress())
261
246
new_tree = workingtree.WorkingTree.open('tree')
262
247
self.assertIs(new_tree.__class__, workingtree_4.WorkingTree4)
263
248
self.assertEqual(rev_id2, new_tree.last_revision())