1
# Copyright (C) 2005, 2006 Canonical Ltd
1
# Copyright (C) 2005, 2006, 2010 Canonical Ltd
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
23
29
from bzrlib.branch import Branch
24
30
from bzrlib.directory_service import directories
25
31
from bzrlib.osutils import pathjoin
26
32
from bzrlib.tests.blackbox import ExternalBase
27
33
from bzrlib.uncommit import uncommit
28
34
from bzrlib.workingtree import WorkingTree
29
from bzrlib import urlutils
32
37
class TestPull(ExternalBase):
394
399
def test_pull_cross_format_warning(self):
395
400
"""You get a warning for probably slow cross-format pulls.
402
# this is assumed to be going through InterDifferingSerializer
398
403
from_tree = self.make_branch_and_tree('from', format='2a')
399
404
to_tree = self.make_branch_and_tree('to', format='1.14-rich-root')
400
405
from_tree.commit(message='first commit')
401
406
out, err = self.run_bzr(['pull', '-d', 'to', 'from'])
402
407
self.assertContainsRe(err,
403
408
"(?m)Fetching between repositories with different formats.*")
410
def test_pull_cross_format_warning_no_IDS(self):
411
"""You get a warning for probably slow cross-format pulls.
413
# this simulates what would happen across the network, where
414
# interdifferingserializer is not active
416
debug.debug_flags.add('IDS_never')
417
# TestCase take care of restoring them
419
from_tree = self.make_branch_and_tree('from', format='2a')
420
to_tree = self.make_branch_and_tree('to', format='1.14-rich-root')
421
from_tree.commit(message='first commit')
422
out, err = self.run_bzr(['pull', '-d', 'to', 'from'])
423
self.assertContainsRe(err,
424
"(?m)Using format-conversion stream*")
426
def test_pull_cross_format_from_network(self):
427
self.setup_smart_server_with_call_log()
428
from_tree = self.make_branch_and_tree('from', format='2a')
429
to_tree = self.make_branch_and_tree('to', format='1.14-rich-root')
430
self.assertIsInstance(from_tree.branch, remote.RemoteBranch)
431
from_tree.commit(message='first commit')
432
out, err = self.run_bzr(['pull', '-d', 'to',
433
from_tree.branch.bzrdir.root_transport.base])
434
self.assertContainsRe(err,
435
"(?m)Using format-conversion stream*")