30
30
tree.add(['a', 'c', 'subdir'])
32
32
self.run_bzr('mv', 'a', 'b')
33
self.failUnlessExists('b')
34
self.failIfExists('a')
33
36
self.run_bzr('mv', 'b', 'subdir')
37
self.failUnlessExists('subdir/b')
38
self.failIfExists('b')
34
40
self.run_bzr('mv', 'subdir/b', 'a')
41
self.failUnlessExists('a')
42
self.failIfExists('subdir/b')
35
44
self.run_bzr('mv', 'a', 'c', 'subdir')
45
self.failUnlessExists('subdir/a')
46
self.failUnlessExists('subdir/c')
47
self.failIfExists('a')
48
self.failIfExists('c')
36
50
self.run_bzr('mv', 'subdir/a', 'subdir/newa')
51
self.failUnlessExists('subdir/newa')
52
self.failIfExists('subdir/a')
38
54
def test_mv_unversioned(self):
39
55
self.build_tree(['unversioned.txt'])
49
65
def test_mv_unqualified(self):
50
66
self.run_bzr_error(['^bzr: ERROR: missing file argument$'], 'mv')
52
def test_mv_newly_added(self):
53
tree = self.make_branch_and_tree('.')
54
self.build_tree(['test.txt'])
55
tree.add(['test.txt'])
57
self.run_bzr('mv', 'test.txt', 'hello.txt')
58
self.failUnlessExists("hello.txt")
59
self.failIfExists("test.txt")
61
68
def test_mv_invalid(self):
62
69
tree = self.make_branch_and_tree('.')
63
70
self.build_tree(['test.txt', 'sub1/'])
66
73
self.run_bzr_error(
67
74
["^bzr: ERROR: destination u'sub1' is not a versioned directory$"],
68
'rename', 'test.txt', 'sub1')
75
'mv', 'test.txt', 'sub1')
70
77
self.run_bzr_error(
71
78
["^bzr: ERROR: can't determine destination directory id for u'sub1'$"],
72
'rename', 'test.txt', 'sub1/hello.txt')
79
'mv', 'test.txt', 'sub1/hello.txt')
75
["^bzr: ERROR: destination u'sub1' is not a versioned directory$"],
76
'move', 'test.txt', 'sub1')
78
81
def test_mv_dirs(self):
79
82
tree = self.make_branch_and_tree('.')
80
83
self.build_tree(['hello.txt', 'sub1/'])
81
84
tree.add(['hello.txt', 'sub1'])
83
self.run_bzr('rename', 'sub1', 'sub2')
84
self.run_bzr('move', 'hello.txt', 'sub2')
86
self.failUnlessExists("sub2")
86
self.run_bzr('mv', 'sub1', 'sub2')
87
self.failUnlessExists('sub2')
88
self.failIfExists('sub1')
89
self.run_bzr('mv', 'hello.txt', 'sub2')
87
90
self.failUnlessExists("sub2/hello.txt")
88
self.failIfExists("sub1")
89
91
self.failIfExists("hello.txt")
91
93
tree.read_working_inventory()
94
96
self.build_tree(['sub1/'])
96
self.run_bzr('move', 'sub2/hello.txt', 'sub1')
98
self.run_bzr('mv', 'sub2/hello.txt', 'sub1')
97
99
self.failIfExists('sub2/hello.txt')
98
100
self.failUnlessExists('sub1/hello.txt')
99
self.run_bzr('move', 'sub2', 'sub1')
101
self.run_bzr('mv', 'sub2', 'sub1')
100
102
self.failIfExists('sub2')
101
103
self.failUnlessExists('sub1/sub2')
103
def test_mv_relative(self):
105
def test_mv_relative(self):
104
106
self.build_tree(['sub1/', 'sub1/sub2/', 'sub1/hello.txt'])
105
107
tree = self.make_branch_and_tree('.')
106
108
tree.add(['sub1', 'sub1/sub2', 'sub1/hello.txt'])
107
109
tree.commit('initial tree')
109
111
os.chdir('sub1/sub2')
110
self.run_bzr('move', '../hello.txt', '.')
112
self.run_bzr('mv', '../hello.txt', '.')
111
113
self.failUnlessExists('./hello.txt')
112
114
tree.read_working_inventory()
113
115
tree.commit('move to parent directory')
117
self.run_bzr('move', 'sub2/hello.txt', '.')
119
self.run_bzr('mv', 'sub2/hello.txt', '.')
118
120
self.failUnlessExists('hello.txt')
122
def test_mv_smoke_aliases(self):
123
# just test that aliases for mv exist, if their behaviour is changed in
124
# the future, then extend the tests.
125
self.build_tree(['a'])
126
tree = self.make_branch_and_tree('.')
129
self.run_bzr('move', 'a', 'b')
130
self.run_bzr('rename', 'b', 'a')