~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2006-09-17 21:19:56 UTC
  • mfrom: (1997.1.6 bind-does-not-push-or-pull)
  • Revision ID: pqm@pqm.ubuntu.com-20060917211956-6e30d07da410fd1a
(Robert Collins) Change the Branch bind method to just bind rather than binding and pushing (fixes #43744 and #39542)

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
17
 
18
 
"""Tests of bound branches (binding, unbinding, commit, etc) command.
19
 
"""
 
18
"""Tests of bound branches (binding, unbinding, commit, etc) command."""
20
19
 
21
20
import os
22
21
from cStringIO import StringIO
235
234
        bzr('commit', '-m', 'merged')
236
235
        self.check_revno(3)
237
236
 
 
237
        # After binding, the revision history should be unaltered
 
238
        base_branch = Branch.open('../base')
 
239
        child_branch = Branch.open('.')
 
240
        # take a copy before
 
241
        base_history = base_branch.revision_history()
 
242
        child_history = child_branch.revision_history()
 
243
 
238
244
        # After a merge, trying to bind again should succeed
239
 
        # by pushing the new change to base
 
245
        # keeping the new change as a local commit.
240
246
        bzr('bind', '../base')
241
247
        self.check_revno(3)
242
 
        self.check_revno(3, '../base')
 
248
        self.check_revno(2, '../base')
243
249
 
244
 
        # After binding, the revision history should be identical
245
 
        child_rh = bzr('revision-history')[0]
246
 
        os.chdir('../base')
247
 
        base_rh = bzr('revision-history')[0]
248
 
        self.assertEquals(child_rh, base_rh)
 
250
        # and compare the revision history now
 
251
        self.assertEqual(base_history, base_branch.revision_history())
 
252
        self.assertEqual(child_history, child_branch.revision_history())
249
253
 
250
254
    def test_bind_parent_ahead(self):
251
255
        bzr = self.run_bzr
261
265
        self.check_revno(1)
262
266
        bzr('bind', '../base')
263
267
 
264
 
        self.check_revno(2)
 
268
        # binding does not pull data:
 
269
        self.check_revno(1)
265
270
        bzr('unbind')
266
271
 
267
272
        # Check and make sure it also works if parent is ahead multiple
272
277
        self.check_revno(5)
273
278
 
274
279
        os.chdir('../child')
275
 
        self.check_revno(2)
 
280
        self.check_revno(1)
276
281
        bzr('bind', '../base')
277
 
        self.check_revno(5)
 
282
        self.check_revno(1)
278
283
 
279
284
    def test_bind_child_ahead(self):
280
285
        # test binding when the master branches history is a prefix of the 
281
 
        # childs
 
286
        # childs - it should bind ok but the revision histories should not
 
287
        # be altered
282
288
        bzr = self.run_bzr
283
289
        self.create_branches()
284
 
        return
285
290
 
286
291
        os.chdir('child')
287
292
        bzr('unbind')
290
295
        self.check_revno(1, '../base')
291
296
 
292
297
        bzr('bind', '../base')
293
 
        self.check_revno(2, '../base')
 
298
        self.check_revno(1, '../base')
294
299
 
295
300
        # Check and make sure it also works if child is ahead multiple
296
301
        bzr('unbind')
299
304
        bzr('commit', '-m', 'child 5', '--unchanged')
300
305
        self.check_revno(5)
301
306
 
302
 
        self.check_revno(2, '../base')
 
307
        self.check_revno(1, '../base')
303
308
        bzr('bind', '../base')
304
 
        self.check_revno(5, '../base')
 
309
        self.check_revno(1, '../base')
305
310
 
306
311
    def test_commit_after_merge(self):
307
312
        bzr = self.run_bzr