/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_branch.py

  • Committer: Martin Pool
  • Date: 2007-09-14 06:31:28 UTC
  • mfrom: (2822 +trunk)
  • mto: This revision was merged to the branch mainline in revision 2823.
  • Revision ID: mbp@sourcefrog.net-20070914063128-0p7mh6zfb4pzdg9p
merge trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
from bzrlib import branch, bzrdir
23
23
from bzrlib.repofmt.knitrepo import RepositoryFormatKnit1
24
24
from bzrlib.tests.blackbox import ExternalBase
 
25
from bzrlib.tests.test_sftp_transport import TestCaseWithSFTPServer
25
26
from bzrlib.workingtree import WorkingTree
26
27
 
27
28
 
28
29
class TestBranch(ExternalBase):
29
30
 
30
 
    def example_branch(test):
31
 
        test.run_bzr('init')
32
 
        file('hello', 'wt').write('foo')
33
 
        test.run_bzr('add hello')
34
 
        test.run_bzr('commit -m setup hello')
35
 
        file('goodbye', 'wt').write('baz')
36
 
        test.run_bzr('add goodbye')
37
 
        test.run_bzr('commit -m setup goodbye')
 
31
    def example_branch(self, path='.'):
 
32
        tree = self.make_branch_and_tree(path)
 
33
        self.build_tree_contents([(path + '/hello', 'foo')])
 
34
        tree.add('hello')
 
35
        tree.commit(message='setup')
 
36
        self.build_tree_contents([(path + '/goodbye', 'baz')])
 
37
        tree.add('goodbye')
 
38
        tree.commit(message='setup')
38
39
 
39
40
    def test_branch(self):
40
41
        """Branch from one branch to another."""
41
 
        os.mkdir('a')
42
 
        os.chdir('a')
43
 
        self.example_branch()
44
 
        os.chdir('..')
 
42
        self.example_branch('a')
45
43
        self.run_bzr('branch a b')
46
44
        b = branch.Branch.open('b')
47
45
        self.assertEqual('b\n', b.control_files.get_utf8('branch-name').read())
48
46
        self.run_bzr('branch a c -r 1')
49
 
        os.chdir('b')
50
 
        self.run_bzr('commit -m foo --unchanged')
51
 
        os.chdir('..')
 
47
        b.bzrdir.open_workingtree().commit(message='foo', allow_pointless=True)
52
48
 
53
49
    def test_branch_only_copies_history(self):
54
50
        # Knit branches should only push the history for the current revision.
89
85
        self.assertTrue(pushed_repo.has_revision('b-1'))
90
86
 
91
87
 
 
88
class TestRemoteBranch(TestCaseWithSFTPServer):
 
89
 
 
90
    def setUp(self):
 
91
        super(TestRemoteBranch, self).setUp()
 
92
        tree = self.make_branch_and_tree('branch')
 
93
        self.build_tree_contents([('branch/file', 'file content\n')])
 
94
        tree.add('file')
 
95
        tree.commit('file created')
 
96
 
 
97
    def test_branch_local_remote(self):
 
98
        self.run_bzr(['branch', 'branch', self.get_url('remote')])
 
99
        t = self.get_transport()
 
100
        # Ensure that no working tree what created remotely
 
101
        self.assertFalse(t.has('remote/file'))
 
102
 
 
103
    def test_branch_remote_remote(self):
 
104
        # Light cheat: we access the branch remotely
 
105
        self.run_bzr(['branch', self.get_url('branch'),
 
106
                      self.get_url('remote')])
 
107
        t = self.get_transport()
 
108
        # Ensure that no working tree what created remotely
 
109
        self.assertFalse(t.has('remote/file'))
 
110