164
164
tree2 = wt.controldir.sprout('tree2').open_workingtree()
166
tree2.commit('unchanged', rev_id='b3')
167
tree2.commit('unchanged', rev_id='b4')
166
tree2.commit('unchanged', rev_id=b'b3')
167
tree2.commit('unchanged', rev_id=b'b4')
169
169
wt.merge_from_branch(tree2.branch)
170
wt.commit('merge b4', rev_id='a3')
170
wt.commit('merge b4', rev_id=b'a3')
172
self.assertEqual(['a3'], wt.get_parent_ids())
172
self.assertEqual([b'a3'], wt.get_parent_ids())
175
175
out, err = self.run_bzr('uncommit --force')
177
self.assertEqual(['a2', 'b4'], wt.get_parent_ids())
177
self.assertEqual([b'a2', b'b4'], wt.get_parent_ids())
179
179
def test_uncommit_pending_merge(self):
180
180
wt = self.create_simple_tree()
181
181
tree2 = wt.controldir.sprout('tree2').open_workingtree()
182
tree2.commit('unchanged', rev_id='b3')
182
tree2.commit('unchanged', rev_id=b'b3')
184
184
wt.branch.fetch(tree2.branch)
185
wt.set_pending_merges(['b3'])
185
wt.set_pending_merges([b'b3'])
188
188
out, err = self.run_bzr('uncommit --force')
189
self.assertEqual(['a1', 'b3'], wt.get_parent_ids())
189
self.assertEqual([b'a1', b'b3'], wt.get_parent_ids())
191
191
def test_uncommit_multiple_merge(self):
192
192
wt = self.create_simple_tree()
194
194
tree2 = wt.controldir.sprout('tree2').open_workingtree()
195
tree2.commit('unchanged', rev_id='b3')
195
tree2.commit('unchanged', rev_id=b'b3')
197
197
tree3 = wt.controldir.sprout('tree3').open_workingtree()
198
tree3.commit('unchanged', rev_id='c3')
198
tree3.commit('unchanged', rev_id=b'c3')
200
200
wt.merge_from_branch(tree2.branch)
201
wt.commit('merge b3', rev_id='a3')
201
wt.commit('merge b3', rev_id=b'a3')
203
203
wt.merge_from_branch(tree3.branch)
204
wt.commit('merge c3', rev_id='a4')
204
wt.commit('merge c3', rev_id=b'a4')
206
self.assertEqual(['a4'], wt.get_parent_ids())
206
self.assertEqual([b'a4'], wt.get_parent_ids())
209
209
out, err = self.run_bzr('uncommit --force -r 2')
211
self.assertEqual(['a2', 'b3', 'c3'], wt.get_parent_ids())
211
self.assertEqual([b'a2', b'b3', b'c3'], wt.get_parent_ids())
213
213
def test_uncommit_merge_plus_pending(self):
214
214
wt = self.create_simple_tree()
216
216
tree2 = wt.controldir.sprout('tree2').open_workingtree()
217
tree2.commit('unchanged', rev_id='b3')
217
tree2.commit('unchanged', rev_id=b'b3')
218
218
tree3 = wt.controldir.sprout('tree3').open_workingtree()
219
tree3.commit('unchanged', rev_id='c3')
219
tree3.commit('unchanged', rev_id=b'c3')
221
221
wt.branch.fetch(tree2.branch)
222
wt.set_pending_merges(['b3'])
223
wt.commit('merge b3', rev_id='a3')
222
wt.set_pending_merges([b'b3'])
223
wt.commit('merge b3', rev_id=b'a3')
226
225
wt.merge_from_branch(tree3.branch)
228
self.assertEqual(['a3', 'c3'], wt.get_parent_ids())
227
self.assertEqual([b'a3', b'c3'], wt.get_parent_ids())
231
230
out, err = self.run_bzr('uncommit --force -r 2')
233
self.assertEqual(['a2', 'b3', 'c3'], wt.get_parent_ids())
232
self.assertEqual([b'a2', b'b3', b'c3'], wt.get_parent_ids())
235
234
def test_uncommit_shows_log_with_revision_id(self):
236
235
wt = self.create_simple_tree()
255
268
tree2 = wt.controldir.sprout('tree2').open_workingtree()
256
269
tree3 = wt.controldir.sprout('tree3').open_workingtree()
258
tree2.commit('unchanged', rev_id='b3')
259
tree3.commit('unchanged', rev_id='c3')
271
tree2.commit('unchanged', rev_id=b'b3')
272
tree3.commit('unchanged', rev_id=b'c3')
261
274
wt.merge_from_branch(tree2.branch)
262
275
wt.merge_from_branch(tree3.branch, force=True)
263
wt.commit('merge b3, c3', rev_id='a3')
276
wt.commit('merge b3, c3', rev_id=b'a3')
265
tree2.commit('unchanged', rev_id='b4')
266
tree3.commit('unchanged', rev_id='c4')
278
tree2.commit('unchanged', rev_id=b'b4')
279
tree3.commit('unchanged', rev_id=b'c4')
268
281
wt.merge_from_branch(tree3.branch)
269
282
wt.merge_from_branch(tree2.branch, force=True)
270
wt.commit('merge b4, c4', rev_id='a4')
283
wt.commit('merge b4, c4', rev_id=b'a4')
272
self.assertEqual(['a4'], wt.get_parent_ids())
285
self.assertEqual([b'a4'], wt.get_parent_ids())
275
288
out, err = self.run_bzr('uncommit --force -r 2')
277
self.assertEqual(['a2', 'c4', 'b4'], wt.get_parent_ids())
290
self.assertEqual([b'a2', b'c4', b'b4'], wt.get_parent_ids())
279
292
def test_uncommit_nonascii(self):
280
293
tree = self.make_branch_and_tree('tree')