~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Robey Pointer
  • Date: 2006-09-08 18:52:17 UTC
  • mfrom: (1993 +trunk)
  • mto: This revision was merged to the branch mainline in revision 1996.
  • Revision ID: robey@lag.net-20060908185217-6a4406e1d41753f5
merge from bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
48
48
        self.assertContainsRe(out, 'second commit')
49
49
 
50
50
        # Nothing has changed
51
 
        self.assertEqual('a2', wt.last_revision())
 
51
        self.assertEqual(['a2'], wt.get_parent_ids())
52
52
 
53
53
        # Uncommit, don't prompt
54
54
        out, err = self.run_bzr('uncommit', '--force')
56
56
        self.assertContainsRe(out, 'second commit')
57
57
 
58
58
        # This should look like we are back in revno 1
59
 
        self.assertEqual('a1', wt.last_revision())
 
59
        self.assertEqual(['a1'], wt.get_parent_ids())
60
60
        out, err = self.run_bzr('status')
61
61
        self.assertEquals(out, 'modified:\n  a\n')
62
62
 
66
66
        checkout_tree = wt.bzrdir.sprout('checkout').open_workingtree()
67
67
        checkout_tree.branch.bind(wt.branch)
68
68
 
69
 
        self.assertEqual('a2', checkout_tree.last_revision())
 
69
        self.assertEqual(['a2'], checkout_tree.get_parent_ids())
70
70
 
71
71
        os.chdir('checkout')
72
72
        out, err = self.run_bzr('uncommit', '--dry-run', '--force')
74
74
        self.assertNotContainsRe(out, 'initial commit')
75
75
        self.assertContainsRe(out, 'second commit')
76
76
 
77
 
        self.assertEqual('a2', checkout_tree.last_revision())
 
77
        self.assertEqual(['a2'], checkout_tree.get_parent_ids())
78
78
 
79
79
        out, err = self.run_bzr('uncommit', '--force')
80
80
        self.assertNotContainsRe(out, 'initial commit')
82
82
 
83
83
        # uncommit in a checkout should uncommit the parent branch
84
84
        # (but doesn't effect the other working tree)
85
 
        self.assertEquals('a1', checkout_tree.last_revision())
 
85
        self.assertEquals(['a1'], checkout_tree.get_parent_ids())
86
86
        self.assertEquals('a1', wt.branch.last_revision())
87
 
        self.assertEquals('a2', wt.last_revision())
 
87
        self.assertEquals(['a2'], wt.get_parent_ids())
88
88
 
89
89
    def test_uncommit_bound(self):
90
90
        os.mkdir('a')
115
115
 
116
116
        self.assertNotContainsRe(out, 'initial commit')
117
117
        self.assertContainsRe(out, 'second commit')
118
 
        self.assertEqual('a1', wt.last_revision())
 
118
        self.assertEqual(['a1'], wt.get_parent_ids())
119
119
        self.assertEqual('a1', wt.branch.last_revision())
120
120
 
121
121
    def test_uncommit_neg_1(self):
132
132
        tree2.commit('unchanged', rev_id='b3')
133
133
        tree2.commit('unchanged', rev_id='b4')
134
134
 
135
 
        self.merge(tree2.branch, wt)
 
135
        wt.merge_from_branch(tree2.branch)
136
136
        wt.commit('merge b4', rev_id='a3')
137
137
 
138
138
        self.assertEqual(['a3'], wt.get_parent_ids())
152
152
 
153
153
        os.chdir('tree')
154
154
        out, err = self.run_bzr('uncommit', '--force')
155
 
        self.assertEqual('a1', wt.last_revision())
156
 
        self.assertEqual(['b3'], wt.pending_merges())
 
155
        self.assertEqual(['a1', 'b3'], wt.get_parent_ids())
157
156
 
158
157
    def test_uncommit_multiple_merge(self):
159
158
        wt = self.create_simple_tree()
162
161
 
163
162
        tree2.commit('unchanged', rev_id='b3')
164
163
 
165
 
        self.merge(tree2.branch, wt)
 
164
        wt.merge_from_branch(tree2.branch)
166
165
        wt.commit('merge b3', rev_id='a3')
167
166
 
168
167
        tree2.commit('unchanged', rev_id='b4')
169
168
 
170
 
        self.merge(tree2.branch, wt)
 
169
        wt.merge_from_branch(tree2.branch)
171
170
        wt.commit('merge b4', rev_id='a4')
172
171
 
173
172
        self.assertEqual(['a4'], wt.get_parent_ids())
191
190
        wt.branch.fetch(tree2.branch)
192
191
        wt.set_pending_merges(['b4'])
193
192
 
194
 
        self.assertEqual('a3', wt.last_revision())
195
 
        self.assertEqual(['b4'], wt.pending_merges())
 
193
        self.assertEqual(['a3', 'b4'], wt.get_parent_ids())
196
194
 
197
195
        os.chdir('tree')
198
196
        out, err = self.run_bzr('uncommit', '--force', '-r', '2')
199
197
 
200
 
        self.assertEqual('a2', wt.last_revision())
201
 
        self.assertEqual(['b3', 'b4'], wt.pending_merges())
 
198
        self.assertEqual(['a2', 'b3', 'b4'], wt.get_parent_ids())
202
199
 
203
200
    def test_uncommit_octopus_merge(self):
204
201
        # Check that uncommit keeps the pending merges in the same order
210
207
        tree2.commit('unchanged', rev_id='b3')
211
208
        tree3.commit('unchanged', rev_id='c3')
212
209
        
213
 
        self.merge(tree2.branch, wt)
214
 
        self.merge(tree3.branch, wt)
 
210
        wt.merge_from_branch(tree2.branch)
 
211
        wt.merge_from_branch(tree3.branch)
215
212
        wt.commit('merge b3, c3', rev_id='a3')
216
213
 
217
214
        tree2.commit('unchanged', rev_id='b4')
218
215
        tree3.commit('unchanged', rev_id='c4')
219
216
 
220
 
        self.merge(tree3.branch, wt)
221
 
        self.merge(tree2.branch, wt)
 
217
        wt.merge_from_branch(tree3.branch)
 
218
        wt.merge_from_branch(tree2.branch)
222
219
        wt.commit('merge b4, c4', rev_id='a4')
223
220
 
224
221
        self.assertEqual(['a4'], wt.get_parent_ids())