27
27
class TestUncommit(TestCaseWithTransport):
28
29
def create_simple_tree(self):
29
30
wt = self.make_branch_and_tree('tree')
30
31
self.build_tree(['tree/a', 'tree/b', 'tree/c'])
143
144
self.assertEqual('a2', wt.last_revision())
144
145
self.assertEqual(['b4'], wt.pending_merges())
147
def test_uncommit_pending_merge(self):
148
wt = self.create_simple_tree()
149
tree2 = wt.bzrdir.sprout('tree2').open_workingtree()
150
tree2.commit('unchanged', rev_id='b3')
152
wt.branch.fetch(tree2.branch)
153
wt.set_pending_merges(['b3'])
156
out, err = self.run_bzr('uncommit', '--force')
157
self.assertEqual('a1', wt.last_revision())
158
self.assertEqual(['b3'], wt.pending_merges())
146
160
def test_uncommit_multiple_merge(self):
147
161
wt = self.create_simple_tree()
167
181
self.assertEqual('a2', wt.last_revision())
168
182
self.assertEqual(['b3', 'b4'], wt.pending_merges())
184
def test_uncommit_merge_plus_pending(self):
185
wt = self.create_simple_tree()
187
tree2 = wt.bzrdir.sprout('tree2').open_workingtree()
189
tree2.commit('unchanged', rev_id='b3')
190
wt.branch.fetch(tree2.branch)
191
wt.set_pending_merges(['b3'])
192
wt.commit('merge b3', rev_id='a3')
194
tree2.commit('unchanged', rev_id='b4')
195
wt.branch.fetch(tree2.branch)
196
wt.set_pending_merges(['b4'])
198
self.assertEqual('a3', wt.last_revision())
199
self.assertEqual(['b4'], wt.pending_merges())
202
out, err = self.run_bzr('uncommit', '--force', '-r', '2')
204
self.assertEqual('a2', wt.last_revision())
205
self.assertEqual(['b3', 'b4'], wt.pending_merges())
170
207
def test_uncommit_octopus_merge(self):
171
208
# Check that uncommit keeps the pending merges in the same order
172
209
wt = self.create_simple_tree()