/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/selftest/test_merge_core.py

[merge] bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
from bzrlib import changeset
15
15
from bzrlib.merge_core import (ApplyMerge3, make_merge_changeset,
16
16
                               BackupBeforeChange, ExecFlagMerge, WeaveMerge)
17
 
from bzrlib.changeset import Inventory, apply_changeset, invert_dict
18
 
from bzrlib.changeset import get_contents, ReplaceContents
 
17
from bzrlib.changeset import Inventory, apply_changeset, invert_dict, \
 
18
    get_contents, ReplaceContents, ChangeExecFlag
19
19
from bzrlib.clone import copy_branch
20
20
from bzrlib.merge import merge
21
21
 
644
644
        merge(['a', -1], ['a', 1], this_dir='b')
645
645
        self.failIf(os.path.lexists('b/file'))
646
646
 
 
647
    def test_merge_metadata_vs_deletion(self):
 
648
        """Conflict deletion vs metadata change"""
 
649
        os.mkdir('a')
 
650
        a = Branch.initialize('a')
 
651
        file('a/file', 'wb').write('contents\n')
 
652
        a.add('file')
 
653
        a_wt = a.working_tree()
 
654
        a_wt.commit('r0')
 
655
        copy_branch(a, 'b')
 
656
        b = Branch.open('b')
 
657
        b_wt = b.working_tree()
 
658
        os.chmod('b/file', 0755)
 
659
        os.remove('a/file')
 
660
        a_wt.commit('removed a')
 
661
        self.assertEqual(a.revno(), 2)
 
662
        self.assertFalse(os.path.exists('a/file'))
 
663
        b_wt.commit('exec a')
 
664
        merge(['b', -1], ['b', 0], this_dir='a')
 
665
        self.assert_(os.path.exists('a/file'))
 
666