359
359
self.assertContainsRe(out, r'\n {4}1 .*\n {6}setup\n')
360
360
self.assertNotContainsRe(
361
361
out, r'revno: 1\ncommitter: .*\nbranch nick: source')
363
def test_pull_smart_stacked_streaming_acceptance(self):
364
"""'bzr pull -r 123' works on stacked, smart branches, even when the
365
revision specified by the revno is only present in the fallback
368
See <https://launchpad.net/bugs/380314>
370
self.setup_smart_server_with_call_log()
371
parent = self.make_branch_and_tree('parent', format='1.9')
372
parent.commit(message='first commit')
373
local = parent.bzrdir.sprout('local').open_workingtree()
374
local.commit(message='local commit')
375
local.branch.create_clone_on_transport(
376
self.get_transport('stacked'), stacked_on=self.get_url('parent'))
377
empty = self.make_branch_and_tree('empty', format='1.9')
378
self.reset_smart_call_log()
379
self.run_bzr(['pull', '-r', '1', self.get_url('stacked')],
381
# This figure represent the amount of work to perform this use case. It
382
# is entirely ok to reduce this number if a test fails due to rpc_count
383
# being too low. If rpc_count increases, more network roundtrips have
384
# become necessary for this use case. Please do not adjust this number
385
# upwards without agreement from bzr's network support maintainers.
386
self.assertLength(43, self.hpss_calls)
387
remote = Branch.open('stacked')
388
self.assertEndsWith(remote.get_stacked_on_url(), '/parent')