~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/workingtree.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2011-05-04 02:29:16 UTC
  • mfrom: (5816.2.4 wt-default)
  • Revision ID: pqm@pqm.ubuntu.com-20110504022916-5kjvsleivsy53zox
(jelmer) Support lazily setting the default format for working trees.
 (Jelmer Vernooij)

Show diffs side-by-side

added added

removed removed

Lines of Context:
68
68
    xml5,
69
69
    xml7,
70
70
    )
71
 
from bzrlib.workingtree_4 import (
72
 
    WorkingTreeFormat4,
73
 
    WorkingTreeFormat5,
74
 
    WorkingTreeFormat6,
75
 
    )
76
71
""")
77
72
 
78
73
from bzrlib import symbol_versioning
2973
2968
    def __init__(self, other_registry=None):
2974
2969
        super(WorkingTreeFormatRegistry, self).__init__(other_registry)
2975
2970
        self._default_format = None
 
2971
        self._default_format_key = None
2976
2972
 
2977
2973
    def get_default(self):
2978
2974
        """Return the current default format."""
 
2975
        if (self._default_format_key is not None and
 
2976
            self._default_format is None):
 
2977
            self._default_format = self.get(self._default_format_key)
2979
2978
        return self._default_format
2980
2979
 
2981
2980
    def set_default(self, format):
 
2981
        """Set the default format."""
2982
2982
        self._default_format = format
 
2983
        self._default_format_key = None
 
2984
 
 
2985
    def set_default_key(self, format_string):
 
2986
        """Set the default format by its format string."""
 
2987
        self._default_format_key = format_string
 
2988
        self._default_format = None
2983
2989
 
2984
2990
 
2985
2991
format_registry = WorkingTreeFormatRegistry()
3252
3258
        return self.get_format_string()
3253
3259
 
3254
3260
 
3255
 
__default_format = WorkingTreeFormat6()
3256
3261
format_registry.register_lazy("Bazaar Working Tree Format 4 (bzr 0.15)\n",
3257
3262
    "bzrlib.workingtree_4", "WorkingTreeFormat4")
3258
3263
format_registry.register_lazy("Bazaar Working Tree Format 5 (bzr 1.11)\n",
3260
3265
format_registry.register_lazy("Bazaar Working Tree Format 6 (bzr 1.14)\n",
3261
3266
    "bzrlib.workingtree_4", "WorkingTreeFormat6")
3262
3267
format_registry.register(WorkingTreeFormat3())
3263
 
format_registry.set_default(__default_format)
 
3268
format_registry.set_default_key("Bazaar Working Tree Format 6 (bzr 1.14)\n")