27
27
revision as _mod_revision,
29
29
from bzrlib.repofmt.knitrepo import RepositoryFormatKnit1
30
from bzrlib.tests.blackbox import ExternalBase
30
from bzrlib.tests import TestCaseWithTransport
31
31
from bzrlib.tests import (
35
36
from bzrlib.tests.test_sftp_transport import TestCaseWithSFTPServer
36
37
from bzrlib.urlutils import local_path_to_url, strip_trailing_slash
37
38
from bzrlib.workingtree import WorkingTree
40
class TestBranch(ExternalBase):
41
class TestBranch(TestCaseWithTransport):
42
43
def example_branch(self, path='.'):
43
44
tree = self.make_branch_and_tree(path)
216
217
b = branch.Branch.open('b')
217
218
self.assertEndsWith(b.get_bound_location(), '/a/')
220
class TestBranchStacked(ExternalBase):
220
def test_branch_with_post_branch_init_hook(self):
222
branch.Branch.hooks.install_named_hook('post_branch_init',
224
self.assertLength(0, calls)
225
self.example_branch('a')
226
self.assertLength(1, calls)
227
self.run_bzr('branch a b')
228
self.assertLength(2, calls)
230
def test_checkout_with_post_branch_init_hook(self):
232
branch.Branch.hooks.install_named_hook('post_branch_init',
234
self.assertLength(0, calls)
235
self.example_branch('a')
236
self.assertLength(1, calls)
237
self.run_bzr('checkout a b')
238
self.assertLength(2, calls)
240
def test_lightweight_checkout_with_post_branch_init_hook(self):
242
branch.Branch.hooks.install_named_hook('post_branch_init',
244
self.assertLength(0, calls)
245
self.example_branch('a')
246
self.assertLength(1, calls)
247
self.run_bzr('checkout --lightweight a b')
248
self.assertLength(2, calls)
251
class TestBranchStacked(TestCaseWithTransport):
221
252
"""Tests for branch --stacked"""
223
254
def assertRevisionInRepository(self, repo_path, revid):
309
340
def test_branch_stacked_from_smart_server(self):
310
341
# We can branch stacking on a smart server
311
from bzrlib.smart.server import SmartTCPServer_for_testing
312
self.transport_server = SmartTCPServer_for_testing
342
self.transport_server = test_server.SmartTCPServer_for_testing
313
343
trunk = self.make_branch('mainline', format='1.9')
314
344
out, err = self.run_bzr(
315
345
['branch', '--stacked', self.get_url('mainline'), 'shallow'])
349
class TestSmartServerBranching(ExternalBase):
379
class TestSmartServerBranching(TestCaseWithTransport):
351
381
def test_branch_from_trivial_branch_to_same_server_branch_acceptance(self):
352
382
self.setup_smart_server_with_call_log()