1215
1215
self.assertContainsRe(str(err),
1216
1216
"^File exists: .+/foo")
1218
def test_file_to_directory(self):
1219
wt = self.make_branch_and_tree('.')
1220
self.build_tree(['foo'])
1222
tt = TreeTransform(wt)
1223
self.addCleanup(tt.finalize)
1224
foo_trans_id = tt.trans_id_tree_path("foo")
1225
tt.delete_contents(foo_trans_id)
1226
tt.create_directory(foo_trans_id)
1227
bar_trans_id = tt.trans_id_tree_path("foo/bar")
1228
tt.create_file(["aa\n"], bar_trans_id)
1229
tt.version_file("bar-1", bar_trans_id)
1231
self.failUnlessExists("foo/bar")
1219
1234
class TransformGroup(object):
2299
2314
preview.set_executability(True, preview.trans_id_file_id('file-id'))
2300
2315
preview_tree = preview.get_preview_tree()
2301
2316
self.assertEqual(True, preview_tree.is_executable('file-id'))
2318
def test_get_set_parent_ids(self):
2319
revision_tree, preview_tree = self.get_tree_and_preview_tree()
2320
self.assertEqual([], preview_tree.get_parent_ids())
2321
preview_tree.set_parent_ids(['rev-1'])
2322
self.assertEqual(['rev-1'], preview_tree.get_parent_ids())
2324
def test_plan_file_merge(self):
2325
work_a = self.make_branch_and_tree('wta')
2326
self.build_tree_contents([('wta/file', 'a\nb\nc\nd\n')])
2327
work_a.add('file', 'file-id')
2328
base_id = work_a.commit('base version')
2329
tree_b = work_a.bzrdir.sprout('wtb').open_workingtree()
2330
preview = TransformPreview(work_a)
2331
self.addCleanup(preview.finalize)
2332
trans_id = preview.trans_id_file_id('file-id')
2333
preview.delete_contents(trans_id)
2334
preview.create_file('b\nc\nd\ne\n', trans_id)
2335
self.build_tree_contents([('wtb/file', 'a\nc\nd\nf\n')])
2336
tree_a = preview.get_preview_tree()
2337
tree_a.set_parent_ids([base_id])
2339
('killed-a', 'a\n'),
2340
('killed-b', 'b\n'),
2341
('unchanged', 'c\n'),
2342
('unchanged', 'd\n'),
2345
], list(tree_a.plan_file_merge('file-id', tree_b)))
2347
def test_plan_file_merge_revision_tree(self):
2348
work_a = self.make_branch_and_tree('wta')
2349
self.build_tree_contents([('wta/file', 'a\nb\nc\nd\n')])
2350
work_a.add('file', 'file-id')
2351
base_id = work_a.commit('base version')
2352
tree_b = work_a.bzrdir.sprout('wtb').open_workingtree()
2353
preview = TransformPreview(work_a.basis_tree())
2354
self.addCleanup(preview.finalize)
2355
trans_id = preview.trans_id_file_id('file-id')
2356
preview.delete_contents(trans_id)
2357
preview.create_file('b\nc\nd\ne\n', trans_id)
2358
self.build_tree_contents([('wtb/file', 'a\nc\nd\nf\n')])
2359
tree_a = preview.get_preview_tree()
2360
tree_a.set_parent_ids([base_id])
2362
('killed-a', 'a\n'),
2363
('killed-b', 'b\n'),
2364
('unchanged', 'c\n'),
2365
('unchanged', 'd\n'),
2368
], list(tree_a.plan_file_merge('file-id', tree_b)))