27
27
class TestUncommit(TestCaseWithTransport):
29
28
def create_simple_tree(self):
30
29
wt = self.make_branch_and_tree('tree')
31
30
self.build_tree(['tree/a', 'tree/b', 'tree/c'])
144
143
self.assertEqual('a2', wt.last_revision())
145
144
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())
160
146
def test_uncommit_multiple_merge(self):
161
147
wt = self.create_simple_tree()
181
167
self.assertEqual('a2', wt.last_revision())
182
168
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())
207
170
def test_uncommit_octopus_merge(self):
208
171
# Check that uncommit keeps the pending merges in the same order
209
172
wt = self.create_simple_tree()