/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to breezy/tests/blackbox/test_uncommit.py

  • Committer: Jelmer Vernooij
  • Date: 2018-05-06 11:48:54 UTC
  • mto: This revision was merged to the branch mainline in revision 6960.
  • Revision ID: jelmer@jelmer.uk-20180506114854-h4qd9ojaqy8wxjsd
Move .mailmap to root.

Show diffs side-by-side

added added

removed removed

Lines of Context:
53
53
        self.assertContainsRe(out, 'second commit')
54
54
 
55
55
        # Nothing has changed
56
 
        self.assertEqual([b'a2'], wt.get_parent_ids())
 
56
        self.assertEqual(['a2'], wt.get_parent_ids())
57
57
 
58
58
        # Uncommit, don't prompt
59
59
        out, err = self.run_bzr('uncommit --force')
61
61
        self.assertContainsRe(out, 'second commit')
62
62
 
63
63
        # This should look like we are back in revno 1
64
 
        self.assertEqual([b'a1'], wt.get_parent_ids())
 
64
        self.assertEqual(['a1'], wt.get_parent_ids())
65
65
        out, err = self.run_bzr('status')
66
66
        self.assertEqual(out, 'modified:\n  a\n')
67
67
 
69
69
        """Uncommit seeks confirmation, and doesn't proceed without it."""
70
70
        wt = self.create_simple_tree()
71
71
        os.chdir('tree')
72
 
        run_script(self, """
 
72
        run_script(self, """    
73
73
        $ brz uncommit
74
74
        ...
75
75
        The above revision(s) will be removed.
77
77
        <n
78
78
        Canceled
79
79
        """)
80
 
        self.assertEqual([b'a2'], wt.get_parent_ids())
 
80
        self.assertEqual(['a2'], wt.get_parent_ids())
81
81
 
82
82
    def test_uncommit_no_history(self):
83
83
        wt = self.make_branch_and_tree('tree')
89
89
        wt = self.create_simple_tree()
90
90
        checkout_tree = wt.branch.create_checkout('checkout')
91
91
 
92
 
        self.assertEqual([b'a2'], checkout_tree.get_parent_ids())
 
92
        self.assertEqual(['a2'], checkout_tree.get_parent_ids())
93
93
 
94
94
        os.chdir('checkout')
95
95
        out, err = self.run_bzr('uncommit --dry-run --force')
97
97
        self.assertNotContainsRe(out, 'initial commit')
98
98
        self.assertContainsRe(out, 'second commit')
99
99
 
100
 
        self.assertEqual([b'a2'], checkout_tree.get_parent_ids())
 
100
        self.assertEqual(['a2'], checkout_tree.get_parent_ids())
101
101
 
102
102
        out, err = self.run_bzr('uncommit --force')
103
103
        self.assertNotContainsRe(out, 'initial commit')
105
105
 
106
106
        # uncommit in a checkout should uncommit the parent branch
107
107
        # (but doesn't effect the other working tree)
108
 
        self.assertEqual([b'a1'], checkout_tree.get_parent_ids())
109
 
        self.assertEqual(b'a1', wt.branch.last_revision())
110
 
        self.assertEqual([b'a2'], wt.get_parent_ids())
 
108
        self.assertEqual(['a1'], checkout_tree.get_parent_ids())
 
109
        self.assertEqual('a1', wt.branch.last_revision())
 
110
        self.assertEqual(['a2'], wt.get_parent_ids())
111
111
 
112
112
    def test_uncommit_bound(self):
113
113
        os.mkdir('a')
149
149
 
150
150
        self.assertNotContainsRe(out, 'initial commit')
151
151
        self.assertContainsRe(out, 'second commit')
152
 
        self.assertEqual([b'a1'], wt.get_parent_ids())
153
 
        self.assertEqual(b'a1', wt.branch.last_revision())
 
152
        self.assertEqual(['a1'], wt.get_parent_ids())
 
153
        self.assertEqual('a1', wt.branch.last_revision())
154
154
 
155
155
    def test_uncommit_neg_1(self):
156
156
        wt = self.create_simple_tree()
169
169
        wt.merge_from_branch(tree2.branch)
170
170
        wt.commit('merge b4', rev_id=b'a3')
171
171
 
172
 
        self.assertEqual([b'a3'], wt.get_parent_ids())
 
172
        self.assertEqual(['a3'], wt.get_parent_ids())
173
173
 
174
174
        os.chdir('tree')
175
175
        out, err = self.run_bzr('uncommit --force')
176
176
 
177
 
        self.assertEqual([b'a2', b'b4'], wt.get_parent_ids())
 
177
        self.assertEqual(['a2', 'b4'], wt.get_parent_ids())
178
178
 
179
179
    def test_uncommit_pending_merge(self):
180
180
        wt = self.create_simple_tree()
182
182
        tree2.commit('unchanged', rev_id=b'b3')
183
183
 
184
184
        wt.branch.fetch(tree2.branch)
185
 
        wt.set_pending_merges([b'b3'])
 
185
        wt.set_pending_merges(['b3'])
186
186
 
187
187
        os.chdir('tree')
188
188
        out, err = self.run_bzr('uncommit --force')
189
 
        self.assertEqual([b'a1', b'b3'], wt.get_parent_ids())
 
189
        self.assertEqual(['a1', 'b3'], wt.get_parent_ids())
190
190
 
191
191
    def test_uncommit_multiple_merge(self):
192
192
        wt = self.create_simple_tree()
203
203
        wt.merge_from_branch(tree3.branch)
204
204
        wt.commit('merge c3', rev_id=b'a4')
205
205
 
206
 
        self.assertEqual([b'a4'], wt.get_parent_ids())
 
206
        self.assertEqual(['a4'], wt.get_parent_ids())
207
207
 
208
208
        os.chdir('tree')
209
209
        out, err = self.run_bzr('uncommit --force -r 2')
210
210
 
211
 
        self.assertEqual([b'a2', b'b3', b'c3'], wt.get_parent_ids())
 
211
        self.assertEqual(['a2', 'b3', 'c3'], wt.get_parent_ids())
212
212
 
213
213
    def test_uncommit_merge_plus_pending(self):
214
214
        wt = self.create_simple_tree()
219
219
        tree3.commit('unchanged', rev_id=b'c3')
220
220
 
221
221
        wt.branch.fetch(tree2.branch)
222
 
        wt.set_pending_merges([b'b3'])
 
222
        wt.set_pending_merges(['b3'])
223
223
        wt.commit('merge b3', rev_id=b'a3')
224
224
 
 
225
 
225
226
        wt.merge_from_branch(tree3.branch)
226
227
 
227
 
        self.assertEqual([b'a3', b'c3'], wt.get_parent_ids())
 
228
        self.assertEqual(['a3', 'c3'], wt.get_parent_ids())
228
229
 
229
230
        os.chdir('tree')
230
231
        out, err = self.run_bzr('uncommit --force -r 2')
231
232
 
232
 
        self.assertEqual([b'a2', b'b3', b'c3'], wt.get_parent_ids())
 
233
        self.assertEqual(['a2', 'b3', 'c3'], wt.get_parent_ids())
233
234
 
234
235
    def test_uncommit_shows_log_with_revision_id(self):
235
236
        wt = self.create_simple_tree()
237
238
        script = ScriptRunner()
238
239
        script.run_script(self, """
239
240
$ cd tree
240
 
$ brz uncommit --force
 
241
$ brz uncommit --force 
241
242
    2 ...
242
243
      second commit
243
244
...
246
247
  brz pull . -r revid:a2
247
248
""")
248
249
 
249
 
    def test_uncommit_shows_pull_with_location(self):
250
 
        wt = self.create_simple_tree()
251
 
 
252
 
        script = ScriptRunner()
253
 
        script.run_script(self, """
254
 
$ brz uncommit --force tree
255
 
    2 ...
256
 
      second commit
257
 
...
258
 
The above revision(s) will be removed.
259
 
You can restore the old tip by running:
260
 
  brz pull -d tree tree -r revid:a2
261
 
""")
262
 
 
263
250
    def test_uncommit_octopus_merge(self):
264
251
        # Check that uncommit keeps the pending merges in the same order
265
252
        # though it will also filter out ones in the ancestry
282
269
        wt.merge_from_branch(tree2.branch, force=True)
283
270
        wt.commit('merge b4, c4', rev_id=b'a4')
284
271
 
285
 
        self.assertEqual([b'a4'], wt.get_parent_ids())
 
272
        self.assertEqual(['a4'], wt.get_parent_ids())
286
273
 
287
274
        os.chdir('tree')
288
275
        out, err = self.run_bzr('uncommit --force -r 2')
289
276
 
290
 
        self.assertEqual([b'a2', b'c4', b'b4'], wt.get_parent_ids())
 
277
        self.assertEqual(['a2', 'c4', 'b4'], wt.get_parent_ids())
291
278
 
292
279
    def test_uncommit_nonascii(self):
293
280
        tree = self.make_branch_and_tree('tree')