36
36
from bzrlib.osutils import file_kind, pathjoin
37
37
from bzrlib.merge import Merge3Merger
38
38
from bzrlib.tests import (
39
CaseInsensitiveFilesystemFeature,
1088
1089
self.callDeprecated([txt], change_entry, None, None, None, None, None,
1089
1090
None, None, None)
1092
def test_case_insensitive_clash(self):
1093
self.requireFeature(CaseInsensitiveFilesystemFeature)
1095
wt = self.make_branch_and_tree('.')
1096
tt = TreeTransform(wt) # TreeTransform obtains write lock
1098
tt.new_file('foo', tt.root, 'bar')
1099
tt.new_file('Foo', tt.root, 'spam')
1100
# Lie to tt that we've already resolved all conflicts.
1101
tt.apply(no_conflicts=True)
1105
err = self.assertRaises(errors.FileExists, tt_helper)
1106
self.assertContainsRe(str(err),
1107
"^File exists: .+/foo")
1109
def test_two_directories_clash(self):
1111
wt = self.make_branch_and_tree('.')
1112
tt = TreeTransform(wt) # TreeTransform obtains write lock
1114
foo_1 = tt.new_directory('foo', tt.root)
1115
tt.new_directory('bar', foo_1)
1116
foo_2 = tt.new_directory('foo', tt.root)
1117
tt.new_directory('baz', foo_2)
1118
# Lie to tt that we've already resolved all conflicts.
1119
tt.apply(no_conflicts=True)
1123
err = self.assertRaises(errors.FileExists, tt_helper)
1124
self.assertContainsRe(str(err),
1125
"^File exists: .+/foo")
1092
1128
class TransformGroup(object):
1093
1130
def __init__(self, dirname, root_id):
1094
1131
self.name = dirname
1095
1132
os.mkdir(dirname)
1521
1559
mover.rename('c/e', 'c/d')
1523
1561
mover.rename('a', 'c')
1562
except errors.FileExists, e:
1525
1563
mover.rollback()
1526
1564
self.failUnlessExists('a')
1527
1565
self.failUnlessExists('c/d')