/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_transform.py

  • Committer: Robert Collins
  • Date: 2008-07-28 06:08:42 UTC
  • mfrom: (3581 +trunk)
  • mto: This revision was merged to the branch mainline in revision 3584.
  • Revision ID: robertc@robertcollins.net-20080728060842-uayjy217i066dvct
MergeĀ .dev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2006 Canonical Ltd
 
1
# Copyright (C) 2006, 2007, 2008 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
1215
1215
        self.assertContainsRe(str(err),
1216
1216
            "^File exists: .+/foo")
1217
1217
 
 
1218
    def test_file_to_directory(self):
 
1219
        wt = self.make_branch_and_tree('.')
 
1220
        self.build_tree(['foo'])
 
1221
        wt.add(['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)
 
1230
        tt.apply()
 
1231
        self.failUnlessExists("foo/bar")
 
1232
 
1218
1233
 
1219
1234
class TransformGroup(object):
1220
1235
 
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'))
 
2317
 
 
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())
 
2323
 
 
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])
 
2338
        self.assertEqual([
 
2339
            ('killed-a', 'a\n'),
 
2340
            ('killed-b', 'b\n'),
 
2341
            ('unchanged', 'c\n'),
 
2342
            ('unchanged', 'd\n'),
 
2343
            ('new-a', 'e\n'),
 
2344
            ('new-b', 'f\n'),
 
2345
        ], list(tree_a.plan_file_merge('file-id', tree_b)))
 
2346
 
 
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])
 
2361
        self.assertEqual([
 
2362
            ('killed-a', 'a\n'),
 
2363
            ('killed-b', 'b\n'),
 
2364
            ('unchanged', 'c\n'),
 
2365
            ('unchanged', 'd\n'),
 
2366
            ('new-a', 'e\n'),
 
2367
            ('new-b', 'f\n'),
 
2368
        ], list(tree_a.plan_file_merge('file-id', tree_b)))