~bzr/bzr/0.10

« back to all changes in this revision

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

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2006-08-25 16:20:24 UTC
  • mfrom: (1956.1.1 uncommit-57660)
  • Revision ID: pqm@pqm.ubuntu.com-20060825162024-eda7457881a28da7
(jam) Fix bug #57660: uncommit should preserve pending merges

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
 
26
26
 
27
27
class TestUncommit(TestCaseWithTransport):
 
28
 
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())
145
146
 
 
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')
 
151
 
 
152
        wt.branch.fetch(tree2.branch)
 
153
        wt.set_pending_merges(['b3'])
 
154
 
 
155
        os.chdir('tree')
 
156
        out, err = self.run_bzr('uncommit', '--force')
 
157
        self.assertEqual('a1', wt.last_revision())
 
158
        self.assertEqual(['b3'], wt.pending_merges())
 
159
 
146
160
    def test_uncommit_multiple_merge(self):
147
161
        wt = self.create_simple_tree()
148
162
 
167
181
        self.assertEqual('a2', wt.last_revision())
168
182
        self.assertEqual(['b3', 'b4'], wt.pending_merges())
169
183
 
 
184
    def test_uncommit_merge_plus_pending(self):
 
185
        wt = self.create_simple_tree()
 
186
 
 
187
        tree2 = wt.bzrdir.sprout('tree2').open_workingtree()
 
188
 
 
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')
 
193
 
 
194
        tree2.commit('unchanged', rev_id='b4')
 
195
        wt.branch.fetch(tree2.branch)
 
196
        wt.set_pending_merges(['b4'])
 
197
 
 
198
        self.assertEqual('a3', wt.last_revision())
 
199
        self.assertEqual(['b4'], wt.pending_merges())
 
200
 
 
201
        os.chdir('tree')
 
202
        out, err = self.run_bzr('uncommit', '--force', '-r', '2')
 
203
 
 
204
        self.assertEqual('a2', wt.last_revision())
 
205
        self.assertEqual(['b3', 'b4'], wt.pending_merges())
 
206
 
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()