/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/repository.py

Merge main branch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2919
2919
            control_files)
2920
2920
 
2921
2921
 
2922
 
class RepositoryFormatRegistry(registry.FormatRegistry):
 
2922
class RepositoryFormatRegistry(controldir.ControlComponentFormatRegistry):
2923
2923
    """Repository format registry."""
2924
2924
 
2925
 
    def __init__(self, other_registry=None):
2926
 
        super(RepositoryFormatRegistry, self).__init__(other_registry)
2927
 
        self._extra_formats = []
2928
 
 
2929
 
    def register(self, format):
2930
 
        """Register a new repository format."""
2931
 
        super(RepositoryFormatRegistry, self).register(
2932
 
            format.get_format_string(), format)
2933
 
 
2934
 
    def remove(self, format):
2935
 
        """Remove a registered repository format."""
2936
 
        super(RepositoryFormatRegistry, self).remove(
2937
 
            format.get_format_string())
2938
 
 
2939
 
    def register_extra(self, format):
2940
 
        """Register a repository format that can not be used in a metadir.
2941
 
 
2942
 
        This is mainly useful to allow custom repository formats, such as older
2943
 
        Bazaar formats and foreign formats, to be tested.
2944
 
        """
2945
 
        self._extra_formats.append(registry._ObjectGetter(format))
2946
 
 
2947
 
    def remove_extra(self, format):
2948
 
        """Remove an extra repository format.
2949
 
        """
2950
 
        self._extra_formats.remove(registry._ObjectGetter(format))
2951
 
 
2952
 
    def register_extra_lazy(self, module_name, member_name):
2953
 
        """Register a repository format lazily.
2954
 
        """
2955
 
        self._extra_formats.append(
2956
 
            registry._LazyObjectGetter(module_name, member_name))
2957
 
 
2958
2925
    def get_default(self):
2959
2926
        """Return the current default format."""
2960
2927
        from bzrlib import bzrdir
2961
2928
        return bzrdir.format_registry.make_bzrdir('default').repository_format
2962
2929
 
2963
 
    def _get_extra(self):
2964
 
        result = []
2965
 
        for getter in self._extra_formats:
2966
 
            f = getter.get_obj()
2967
 
            if callable(f):
2968
 
                f = f()
2969
 
            result.append(f)
2970
 
        return result
2971
 
 
2972
 
    def _get_all(self):
2973
 
        """Return all repository formats, even those not usable in metadirs.
2974
 
        """
2975
 
        return [self.get(k) for k in self.keys()] + self._get_extra()
2976
 
 
2977
2930
 
2978
2931
network_format_registry = registry.FormatRegistry()
2979
2932
"""Registry of formats indexed by their network name.
2995
2948
#####################################################################
2996
2949
# Repository Formats
2997
2950
 
2998
 
class RepositoryFormat(object):
 
2951
class RepositoryFormat(controldir.ControlComponentFormat):
2999
2952
    """A repository format.
3000
2953
 
3001
2954
    Formats provide four things:
4573
4526
        # No more history
4574
4527
        return
4575
4528
 
 
4529
 
 
4530