~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_transform.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2008-09-29 23:51:44 UTC
  • mfrom: (3363.17.14 merge-into)
  • Revision ID: pqm@pqm.ubuntu.com-20080929235144-2jweo1007kh31723
Enable merging into PreviewTrees

Show diffs side-by-side

added added

removed removed

Lines of Context:
40
40
                           ExistingPendingDeletion, ImmortalLimbo,
41
41
                           ImmortalPendingDeletion, LockError)
42
42
from bzrlib.osutils import file_kind, pathjoin
43
 
from bzrlib.merge import Merge3Merger
 
43
from bzrlib.merge import Merge3Merger, Merger
44
44
from bzrlib.tests import (
45
45
    CaseInsensitiveFilesystemFeature,
46
46
    HardlinkFeature,
2468
2468
        preview.unversion_file(preview.trans_id_tree_path('removed-file'))
2469
2469
        self.assertEqual(set(['new-file', 'removed-file', 'existing-file']),
2470
2470
                         set(tree.extras()))
 
2471
 
 
2472
    def test_merge_into_preview(self):
 
2473
        work_tree = self.make_branch_and_tree('tree')
 
2474
        self.build_tree_contents([('tree/file','b\n')])
 
2475
        work_tree.add('file', 'file-id')
 
2476
        work_tree.commit('first commit')
 
2477
        child_tree = work_tree.bzrdir.sprout('child').open_workingtree()
 
2478
        self.build_tree_contents([('child/file','b\nc\n')])
 
2479
        child_tree.commit('child commit')
 
2480
        child_tree.lock_write()
 
2481
        self.addCleanup(child_tree.unlock)
 
2482
        work_tree.lock_write()
 
2483
        self.addCleanup(work_tree.unlock)
 
2484
        preview = TransformPreview(work_tree)
 
2485
        self.addCleanup(preview.finalize)
 
2486
        preview_tree = preview.get_preview_tree()
 
2487
        file_trans_id = preview.trans_id_file_id('file-id')
 
2488
        preview.delete_contents(file_trans_id)
 
2489
        preview.create_file('a\nb\n', file_trans_id)
 
2490
        pb = progress.DummyProgress()
 
2491
        merger = Merger.from_revision_ids(pb, preview_tree,
 
2492
                                          child_tree.branch.last_revision(),
 
2493
                                          other_branch=child_tree.branch,
 
2494
                                          tree_branch=work_tree.branch)
 
2495
        merger.merge_type = Merge3Merger
 
2496
        tt = merger.make_merger().make_preview_transform()
 
2497
        self.addCleanup(tt.finalize)
 
2498
        final_tree = tt.get_preview_tree()
 
2499
        self.assertEqual('a\nb\nc\n', final_tree.get_file_text('file-id'))