~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/bzrdir.py

  • Committer: John Arbash Meinel
  • Date: 2010-02-17 17:11:16 UTC
  • mfrom: (4797.2.17 2.1)
  • mto: (4797.2.18 2.1)
  • mto: This revision was merged to the branch mainline in revision 5055.
  • Revision ID: john@arbash-meinel.com-20100217171116-h7t9223ystbnx5h8
merge bzr.2.1 in preparation for NEWS entry.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005, 2006, 2007, 2008, 2009 Canonical Ltd
 
1
# Copyright (C) 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
1827
1827
    def probe_transport(klass, transport):
1828
1828
        """Return the .bzrdir style format present in a directory."""
1829
1829
        try:
1830
 
            format_string = transport.get(".bzr/branch-format").read()
 
1830
            format_string = transport.get_bytes(".bzr/branch-format")
1831
1831
        except errors.NoSuchFile:
1832
1832
            raise errors.NotBranchError(path=transport.base)
1833
1833
 
3108
3108
 
3109
3109
    def __init__(self):
3110
3110
        BzrDirMetaFormat1.__init__(self)
 
3111
        # XXX: It's a bit ugly that the network name is here, because we'd
 
3112
        # like to believe that format objects are stateless or at least
 
3113
        # immutable,  However, we do at least avoid mutating the name after
 
3114
        # it's returned.  See <https://bugs.edge.launchpad.net/bzr/+bug/504102>
3111
3115
        self._network_name = None
3112
3116
 
 
3117
    def __repr__(self):
 
3118
        return "%s(_network_name=%r)" % (self.__class__.__name__,
 
3119
            self._network_name)
 
3120
 
3113
3121
    def get_format_description(self):
 
3122
        if self._network_name:
 
3123
            real_format = network_format_registry.get(self._network_name)
 
3124
            return 'Remote: ' + real_format.get_format_description()
3114
3125
        return 'bzr remote bzrdir'
3115
3126
 
3116
3127
    def get_format_string(self):
3249
3260
        args.append(self._serialize_NoneString(repo_format_name))
3250
3261
        args.append(self._serialize_NoneTrueFalse(make_working_trees))
3251
3262
        args.append(self._serialize_NoneTrueFalse(shared_repo))
3252
 
        if self._network_name is None:
3253
 
            self._network_name = \
 
3263
        request_network_name = self._network_name or \
3254
3264
            BzrDirFormat.get_default_format().network_name()
3255
3265
        try:
3256
3266
            response = client.call('BzrDirFormat.initialize_ex_1.16',
3257
 
                self.network_name(), path, *args)
 
3267
                request_network_name, path, *args)
3258
3268
        except errors.UnknownSmartMethod:
3259
3269
            client._medium._remember_remote_is_before((1,16))
3260
3270
            local_dir_format = BzrDirMetaFormat1()
3510
3520
                experimental_pairs.append((key, help))
3511
3521
            else:
3512
3522
                output += wrapped(key, help, info)
3513
 
        output += "\nSee ``bzr help formats`` for more about storage formats."
 
3523
        output += "\nSee :doc:`formats-help` for more about storage formats."
3514
3524
        other_output = ""
3515
3525
        if len(experimental_pairs) > 0:
3516
3526
            other_output += "Experimental formats are shown below.\n\n"
3529
3539
            other_output += \
3530
3540
                "\nNo deprecated formats are available.\n\n"
3531
3541
        other_output += \
3532
 
            "\nSee ``bzr help formats`` for more about storage formats."
 
3542
                "\nSee :doc:`formats-help` for more about storage formats."
3533
3543
 
3534
3544
        if topic == 'other-formats':
3535
3545
            return other_output
3704
3714
format_registry.register('weave', BzrDirFormat6,
3705
3715
    'Pre-0.8 format.  Slower than knit and does not'
3706
3716
    ' support checkouts or shared repositories.',
 
3717
    hidden=True,
3707
3718
    deprecated=True)
3708
3719
format_registry.register_metadir('metaweave',
3709
3720
    'bzrlib.repofmt.weaverepo.RepositoryFormat7',
3710
3721
    'Transitional format in 0.8.  Slower than knit.',
3711
3722
    branch_format='bzrlib.branch.BzrBranchFormat5',
3712
3723
    tree_format='bzrlib.workingtree.WorkingTreeFormat3',
 
3724
    hidden=True,
3713
3725
    deprecated=True)
3714
3726
format_registry.register_metadir('knit',
3715
3727
    'bzrlib.repofmt.knitrepo.RepositoryFormatKnit1',
3716
3728
    'Format using knits.  Recommended for interoperation with bzr <= 0.14.',
3717
3729
    branch_format='bzrlib.branch.BzrBranchFormat5',
3718
3730
    tree_format='bzrlib.workingtree.WorkingTreeFormat3',
 
3731
    hidden=True,
3719
3732
    deprecated=True)
3720
3733
format_registry.register_metadir('dirstate',
3721
3734
    'bzrlib.repofmt.knitrepo.RepositoryFormatKnit1',
3725
3738
    # this uses bzrlib.workingtree.WorkingTreeFormat4 because importing
3726
3739
    # directly from workingtree_4 triggers a circular import.
3727
3740
    tree_format='bzrlib.workingtree.WorkingTreeFormat4',
 
3741
    hidden=True,
3728
3742
    deprecated=True)
3729
3743
format_registry.register_metadir('dirstate-tags',
3730
3744
    'bzrlib.repofmt.knitrepo.RepositoryFormatKnit1',
3733
3747
        ' Incompatible with bzr < 0.15.',
3734
3748
    branch_format='bzrlib.branch.BzrBranchFormat6',
3735
3749
    tree_format='bzrlib.workingtree.WorkingTreeFormat4',
 
3750
    hidden=True,
3736
3751
    deprecated=True)
3737
3752
format_registry.register_metadir('rich-root',
3738
3753
    'bzrlib.repofmt.knitrepo.RepositoryFormatKnit4',
3740
3755
        ' bzr < 1.0.',
3741
3756
    branch_format='bzrlib.branch.BzrBranchFormat6',
3742
3757
    tree_format='bzrlib.workingtree.WorkingTreeFormat4',
 
3758
    hidden=True,
3743
3759
    deprecated=True)
3744
3760
format_registry.register_metadir('dirstate-with-subtree',
3745
3761
    'bzrlib.repofmt.knitrepo.RepositoryFormatKnit3',
3781
3797
         '(needed for bzr-svn and bzr-git).',
3782
3798
    branch_format='bzrlib.branch.BzrBranchFormat6',
3783
3799
    tree_format='bzrlib.workingtree.WorkingTreeFormat4',
 
3800
    hidden=True,
3784
3801
    )
3785
3802
format_registry.register_metadir('1.6',
3786
3803
    'bzrlib.repofmt.pack_repo.RepositoryFormatKnitPack5',
3789
3806
         'not present locally.',
3790
3807
    branch_format='bzrlib.branch.BzrBranchFormat7',
3791
3808
    tree_format='bzrlib.workingtree.WorkingTreeFormat4',
 
3809
    hidden=True,
3792
3810
    )
3793
3811
format_registry.register_metadir('1.6.1-rich-root',
3794
3812
    'bzrlib.repofmt.pack_repo.RepositoryFormatKnitPack5RichRoot',
3796
3814
         '(needed for bzr-svn and bzr-git).',
3797
3815
    branch_format='bzrlib.branch.BzrBranchFormat7',
3798
3816
    tree_format='bzrlib.workingtree.WorkingTreeFormat4',
 
3817
    hidden=True,
3799
3818
    )
3800
3819
format_registry.register_metadir('1.9',
3801
3820
    'bzrlib.repofmt.pack_repo.RepositoryFormatKnitPack6',
3804
3823
         'performance for most operations.',
3805
3824
    branch_format='bzrlib.branch.BzrBranchFormat7',
3806
3825
    tree_format='bzrlib.workingtree.WorkingTreeFormat4',
 
3826
    hidden=True,
3807
3827
    )
3808
3828
format_registry.register_metadir('1.9-rich-root',
3809
3829
    'bzrlib.repofmt.pack_repo.RepositoryFormatKnitPack6RichRoot',
3811
3831
         '(needed for bzr-svn and bzr-git).',
3812
3832
    branch_format='bzrlib.branch.BzrBranchFormat7',
3813
3833
    tree_format='bzrlib.workingtree.WorkingTreeFormat4',
 
3834
    hidden=True,
3814
3835
    )
3815
3836
format_registry.register_metadir('1.14',
3816
3837
    'bzrlib.repofmt.pack_repo.RepositoryFormatKnitPack6',
3838
3859
    tree_format='bzrlib.workingtree.WorkingTreeFormat6',
3839
3860
    experimental=True,
3840
3861
    alias=True,
 
3862
    hidden=True,
3841
3863
    )
3842
3864
format_registry.register_metadir('development-subtree',
3843
3865
    'bzrlib.repofmt.pack_repo.RepositoryFormatPackDevelopment2Subtree',
3850
3872
    branch_format='bzrlib.branch.BzrBranchFormat7',
3851
3873
    tree_format='bzrlib.workingtree.WorkingTreeFormat6',
3852
3874
    experimental=True,
 
3875
    hidden=True,
3853
3876
    alias=False, # Restore to being an alias when an actual development subtree format is added
3854
3877
                 # This current non-alias status is simply because we did not introduce a
3855
3878
                 # chk based subtree format.
3899
3922
    branch_format='bzrlib.branch.BzrBranchFormat7',
3900
3923
    tree_format='bzrlib.workingtree.WorkingTreeFormat6',
3901
3924
    alias=True,
 
3925
    hidden=True,
3902
3926
    help='Same as 2a.')
3903
3927
 
3904
3928
# The current format that is made on 'bzr init'.