~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/blackbox/test_pull.py

  • Committer: Martin Pool
  • Date: 2010-01-14 06:43:27 UTC
  • mto: (4634.119.8 2.0)
  • mto: This revision was merged to the branch mainline in revision 4966.
  • Revision ID: mbp@sourcefrog.net-20100114064327-wrfopvb9eyutor9a
Give a warning from pulling across the network from a different format

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005, 2006 Canonical Ltd
 
1
# Copyright (C) 2005, 2006, 2010 Canonical Ltd
2
2
#
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
20
20
import os
21
21
import sys
22
22
 
 
23
from bzrlib import (
 
24
    debug,
 
25
    remote,
 
26
    urlutils,
 
27
    )
 
28
 
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
30
35
 
31
36
 
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.
396
401
        """
397
 
 
 
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.*")
 
409
 
 
410
    def test_pull_cross_format_warning_no_IDS(self):
 
411
        """You get a warning for probably slow cross-format pulls.
 
412
        """
 
413
        # this simulates what would happen across the network, where
 
414
        # interdifferingserializer is not active
 
415
 
 
416
        debug.debug_flags.add('IDS_never')
 
417
        # TestCase take care of restoring them
 
418
 
 
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*")
 
425
 
 
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*")