44
43
self.run_bzr('remove-tree branch1')
45
44
self.failIfExists('branch1/foo')
47
def test_remove_tree_multiple_branch_explicit(self):
48
self.tree.bzrdir.sprout('branch2')
49
self.run_bzr('remove-tree branch1 branch2')
50
self.failIfExists('branch1/foo')
51
self.failIfExists('branch2/foo')
53
46
def test_remove_tree_sprouted_branch(self):
54
47
self.tree.bzrdir.sprout('branch2')
55
48
self.failUnlessExists('branch2/foo')
129
122
self.run_bzr('remove-tree branch1 --force')
130
123
self.failIfExists('branch1/foo')
131
124
self.failUnlessExists('branch1/bar')
133
def test_remove_tree_pending_merges(self):
134
self.run_bzr(['branch', 'branch1', 'branch2'])
135
self.build_tree(['branch1/bar'])
137
self.tree.commit('2')
138
self.failUnlessExists('branch1/bar')
139
self.run_bzr(['merge', '../branch1'], working_dir='branch2')
140
self.failUnlessExists('branch2/bar')
141
self.run_bzr(['revert', '.'], working_dir='branch2')
142
self.failIfExists('branch2/bar')
143
output = self.run_bzr_error(["Working tree .* has uncommitted changes"],
144
'remove-tree branch2', retcode=3)
146
def test_remove_tree_pending_merges_force(self):
147
self.run_bzr(['branch', 'branch1', 'branch2'])
148
self.build_tree(['branch1/bar'])
150
self.tree.commit('2')
151
self.failUnlessExists('branch1/bar')
152
self.run_bzr(['merge', '../branch1'], working_dir='branch2')
153
self.failUnlessExists('branch2/bar')
154
self.run_bzr(['revert', '.'], working_dir='branch2')
155
self.failIfExists('branch2/bar')
156
self.run_bzr('remove-tree branch2 --force')
157
self.failIfExists('branch2/foo')
158
self.failIfExists('branch2/bar')
160
def test_remove_tree_shelved_changes(self):
161
# https://bugs.launchpad.net/bzr/+bug/586639
162
tree = self.make_branch_and_tree('.')
163
creator = shelf.ShelfCreator(tree, tree.basis_tree(), [])
164
self.addCleanup(creator.finalize)
165
shelf_id = tree.get_shelf_manager().shelve_changes(creator, 'Foo')
166
output = self.run_bzr_error(["Working tree .* has shelved changes"],
167
'remove-tree', retcode=3)
169
def test_remove_tree_shelved_changes_force(self):
170
tree = self.make_branch_and_tree('.')
171
creator = shelf.ShelfCreator(tree, tree.basis_tree(), [])
172
self.addCleanup(creator.finalize)
173
shelf_id = tree.get_shelf_manager().shelve_changes(creator, 'Foo')
174
self.run_bzr('remove-tree --force')
175
self.run_bzr('checkout')
176
# Ensure shelf is empty
177
self.assertIs(None, tree.get_shelf_manager().last_shelf())