/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 bzrlib/tests/blackbox/test_pull.py

  • Committer: Olaf Conradi
  • Date: 2006-04-09 14:28:56 UTC
  • mto: (1661.1.1 bzr.mbp.remember)
  • mto: This revision was merged to the branch mainline in revision 1663.
  • Revision ID: olaf@conradi.org-20060409142856-940e51e1df9176b3
Modified blackbox test cases to use bzrlib API.

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
import sys
24
24
 
25
25
from bzrlib.branch import Branch
 
26
from bzrlib.osutils import abspath
26
27
from bzrlib.tests.blackbox import ExternalBase
27
 
from bzrlib.osutils import abspath
 
28
from bzrlib.uncommit import uncommit
28
29
 
29
30
 
30
31
class TestPull(ExternalBase):
226
227
 
227
228
    def test_pull_remember(self):
228
229
        """Pull changes from one branch to another and test parent location."""
229
 
        os.mkdir('a')
230
 
        os.chdir('a')
231
 
 
232
 
        self.example_branch()
233
 
        self.runbzr('branch . ../b')
234
 
        self.runbzr('branch . ../c')
235
 
        file('bottles', 'wt').write('99 bottles of beer on the wall')
236
 
        self.runbzr('add bottles')
237
 
        self.runbzr('commit -m 99_bottles')
238
 
        os.chdir('../b')
239
 
        b = Branch.open('')
240
 
        parent = b.get_parent()
 
230
        transport = self.get_transport()
 
231
        tree_a = self.make_branch_and_tree('branch_a')
 
232
        branch_a = tree_a.branch
 
233
        self.build_tree(['branch_a/a'])
 
234
        tree_a.add('a')
 
235
        tree_a.commit('commit a')
 
236
        branch_b = branch_a.bzrdir.sprout('branch_b').open_branch()
 
237
        tree_b = branch_b.bzrdir.open_workingtree()
 
238
        branch_c = branch_a.bzrdir.sprout('branch_c').open_branch()
 
239
        tree_c = branch_c.bzrdir.open_workingtree()
 
240
        self.build_tree(['branch_a/b'])
 
241
        tree_a.add('b')
 
242
        tree_a.commit('commit b')
241
243
        # reset parent
242
 
        b.set_parent(None)
243
 
        self.assertEqual(None, b.get_parent())
 
244
        parent = branch_b.get_parent()
 
245
        branch_b.set_parent(None)
 
246
        self.assertEqual(None, branch_b.get_parent())
244
247
        # test pull for failure without parent set
 
248
        os.chdir('branch_b')
245
249
        out = self.runbzr('pull', retcode=3)
246
250
        self.assertEquals(out,
247
251
                ('','bzr: ERROR: No pull location known or specified.\n'))
248
252
        # test implicit --remember when no parent set, this pull conflicts
249
 
        file('bottles', 'wt').write('98 bottles of beer on the wall')
250
 
        self.runbzr('add bottles')
251
 
        self.runbzr('commit -m 98_bottles')
252
 
        out = self.runbzr('pull ../a', retcode=3)
 
253
        self.build_tree(['d'])
 
254
        tree_b.add('d')
 
255
        tree_b.commit('commit d')
 
256
        out = self.runbzr('pull ../branch_a', retcode=3)
253
257
        self.assertEquals(out,
254
258
                ('','bzr: ERROR: These branches have diverged.  Try merge.\n'))
255
 
        self.assertEquals(abspath(b.get_parent()), abspath(parent))
 
259
        self.assertEquals(abspath(branch_b.get_parent()), abspath(parent))
256
260
        # test implicit --remember after resolving previous failure
257
 
        self.runbzr('uncommit --force')
 
261
        uncommit(branch=branch_b, tree=tree_b)
 
262
        transport.delete('branch_b/d')
258
263
        self.runbzr('pull')
259
 
        self.assertEquals(abspath(b.get_parent()), abspath(parent))
 
264
        self.assertEquals(abspath(branch_b.get_parent()), abspath(parent))
260
265
        # test explicit --remember
261
 
        self.runbzr('pull ../c --remember')
262
 
        self.assertEquals(abspath(b.get_parent()), abspath('../c'))
 
266
        self.runbzr('pull ../branch_c --remember')
 
267
        self.assertEquals(abspath(branch_b.get_parent()),
 
268
                          abspath(branch_c.bzrdir.root_transport.base))