/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 breezy/controldir.py

  • Committer: Breezy landing bot
  • Author(s): Jelmer Vernooij
  • Date: 2018-05-05 01:50:26 UTC
  • mfrom: (6929.10.12 short-options)
  • Revision ID: breezy.the.bot@gmail.com-20180505015026-uaur0ujpwmas0u3f
Improve short options for formats.

Merged from https://code.launchpad.net/~jelmer/brz/short-options/+merge/342436

Show diffs side-by-side

added added

removed removed

Lines of Context:
49
49
    errors,
50
50
    registry,
51
51
    )
 
52
from .sixish import (
 
53
    viewitems,
 
54
    )
52
55
 
53
56
 
54
57
class MustHaveWorkingTree(errors.BzrError):
1303
1306
 
1304
1307
    def __init__(self):
1305
1308
        """Create a ControlDirFormatRegistry."""
1306
 
        self._aliases = set()
1307
1309
        self._registration_order = list()
1308
1310
        super(ControlDirFormatRegistry, self).__init__()
1309
1311
 
1310
 
    def aliases(self):
1311
 
        """Return a set of the format names which are aliases."""
1312
 
        return frozenset(self._aliases)
1313
 
 
1314
1312
    def register(self, key, factory, help, native=True, deprecated=False,
1315
 
                 hidden=False, experimental=False, alias=False):
 
1313
                 hidden=False, experimental=False):
1316
1314
        """Register a ControlDirFormat factory.
1317
1315
 
1318
1316
        The factory must be a callable that takes one parameter: the key.
1323
1321
        """
1324
1322
        registry.Registry.register(self, key, factory, help,
1325
1323
            ControlDirFormatInfo(native, deprecated, hidden, experimental))
1326
 
        if alias:
1327
 
            self._aliases.add(key)
1328
1324
        self._registration_order.append(key)
1329
1325
 
 
1326
    def register_alias(self, key, target, hidden=False):
 
1327
        """Register a format alias.
 
1328
 
 
1329
        :param key: Alias name
 
1330
        :param target: Target format
 
1331
        :param hidden: Whether the alias is hidden
 
1332
        """
 
1333
        info = self.get_info(target)
 
1334
        registry.Registry.register_alias(self, key, target,
 
1335
                ControlDirFormatInfo(
 
1336
                    native=info.native, deprecated=info.deprecated,
 
1337
                    hidden=hidden, experimental=info.experimental))
 
1338
 
1330
1339
    def register_lazy(self, key, module_name, member_name, help, native=True,
1331
 
        deprecated=False, hidden=False, experimental=False, alias=False):
 
1340
        deprecated=False, hidden=False, experimental=False):
1332
1341
        registry.Registry.register_lazy(self, key, module_name, member_name,
1333
1342
            help, ControlDirFormatInfo(native, deprecated, hidden, experimental))
1334
 
        if alias:
1335
 
            self._aliases.add(key)
1336
1343
        self._registration_order.append(key)
1337
1344
 
1338
1345
    def set_default(self, key):
1340
1347
 
1341
1348
        This method must be called once and only once.
1342
1349
        """
1343
 
        registry.Registry.register(self, 'default', self.get(key),
1344
 
            self.get_help(key), info=self.get_info(key))
1345
 
        self._aliases.add('default')
 
1350
        self.register_alias('default', key)
1346
1351
 
1347
1352
    def set_default_repository(self, key):
1348
1353
        """Set the FormatRegistry default and Repository default.