~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/repository.py

  • Committer: Patch Queue Manager
  • Date: 2011-10-14 11:14:25 UTC
  • mfrom: (6207.3.11 use-controldir)
  • Revision ID: pqm@pqm.ubuntu.com-20111014111425-c7nzqujggvlsd9zz
(jelmer) Move static/class methods from BzrDir to ControlDir. (Jelmer
 Vernooij)

Show diffs side-by-side

added added

removed removed

Lines of Context:
342
342
        self.control_files.break_lock()
343
343
 
344
344
    @staticmethod
345
 
    def create(a_bzrdir):
346
 
        """Construct the current default format repository in a_bzrdir."""
347
 
        return RepositoryFormat.get_default_format().initialize(a_bzrdir)
 
345
    def create(controldir):
 
346
        """Construct the current default format repository in controldir."""
 
347
        return RepositoryFormat.get_default_format().initialize(controldir)
348
348
 
349
 
    def __init__(self, _format, a_bzrdir, control_files):
 
349
    def __init__(self, _format, controldir, control_files):
350
350
        """instantiate a Repository.
351
351
 
352
352
        :param _format: The format of the repository on disk.
353
 
        :param a_bzrdir: The BzrDir of the repository.
 
353
        :param controldir: The ControlDir of the repository.
354
354
        :param control_files: Control files to use for locking, etc.
355
355
        """
356
356
        # In the future we will have a single api for all stores for
359
359
        super(Repository, self).__init__()
360
360
        self._format = _format
361
361
        # the following are part of the public API for Repository:
362
 
        self.bzrdir = a_bzrdir
 
362
        self.bzrdir = controldir
363
363
        self.control_files = control_files
364
364
        # for tests
365
365
        self._write_group = None
547
547
            def __init__(self):
548
548
                self.first_call = True
549
549
 
550
 
            def __call__(self, bzrdir):
551
 
                # On the first call, the parameter is always the bzrdir
 
550
            def __call__(self, controldir):
 
551
                # On the first call, the parameter is always the controldir
552
552
                # containing the current repo.
553
553
                if not self.first_call:
554
554
                    try:
555
 
                        repository = bzrdir.open_repository()
 
555
                        repository = controldir.open_repository()
556
556
                    except errors.NoRepositoryPresent:
557
557
                        pass
558
558
                    else:
559
559
                        return False, ([], repository)
560
560
                self.first_call = False
561
 
                value = (bzrdir.list_branches(), None)
 
561
                value = (controldir.list_branches(), None)
562
562
                return True, value
563
563
 
564
564
        ret = []
565
 
        for branches, repository in bzrdir.BzrDir.find_bzrdirs(
 
565
        for branches, repository in controldir.ControlDir.find_bzrdirs(
566
566
                self.user_transport, evaluate=Evaluator()):
567
567
            if branches is not None:
568
568
                ret.extend(branches)
602
602
        For instance, if the repository is at URL/.bzr/repository,
603
603
        Repository.open(URL) -> a Repository instance.
604
604
        """
605
 
        control = bzrdir.BzrDir.open(base)
 
605
        control = controldir.ControlDir.open(base)
606
606
        return control.open_repository()
607
607
 
608
608
    def copy_content_into(self, destination, revision_id=None):
746
746
                repo.unlock()
747
747
 
748
748
    @needs_read_lock
749
 
    def clone(self, a_bzrdir, revision_id=None):
750
 
        """Clone this repository into a_bzrdir using the current format.
 
749
    def clone(self, controldir, revision_id=None):
 
750
        """Clone this repository into controldir using the current format.
751
751
 
752
752
        Currently no check is made that the format of this repository and
753
753
        the bzrdir format are compatible. FIXME RBC 20060201.
756
756
        """
757
757
        # TODO: deprecate after 0.16; cloning this with all its settings is
758
758
        # probably not very useful -- mbp 20070423
759
 
        dest_repo = self._create_sprouting_repo(a_bzrdir, shared=self.is_shared())
 
759
        dest_repo = self._create_sprouting_repo(
 
760
            controldir, shared=self.is_shared())
760
761
        self.copy_content_into(dest_repo, revision_id)
761
762
        return dest_repo
762
763
 
1311
1312
 
1312
1313
    def get_default(self):
1313
1314
        """Return the current default format."""
1314
 
        from bzrlib import bzrdir
1315
 
        return bzrdir.format_registry.make_bzrdir('default').repository_format
 
1315
        return controldir.format_registry.make_bzrdir('default').repository_format
1316
1316
 
1317
1317
 
1318
1318
network_format_registry = registry.FormatRegistry()
1361
1361
    created.
1362
1362
 
1363
1363
    Common instance attributes:
1364
 
    _matchingbzrdir - the bzrdir format that the repository format was
 
1364
    _matchingbzrdir - the controldir format that the repository format was
1365
1365
    originally written to work with. This can be used if manually
1366
1366
    constructing a bzrdir and repository, or more commonly for test suite
1367
1367
    parameterization.
1466
1466
        """Return the short description for this format."""
1467
1467
        raise NotImplementedError(self.get_format_description)
1468
1468
 
1469
 
    def initialize(self, a_bzrdir, shared=False):
1470
 
        """Initialize a repository of this format in a_bzrdir.
 
1469
    def initialize(self, controldir, shared=False):
 
1470
        """Initialize a repository of this format in controldir.
1471
1471
 
1472
 
        :param a_bzrdir: The bzrdir to put the new repository in it.
 
1472
        :param controldir: The controldir to put the new repository in it.
1473
1473
        :param shared: The repository should be initialized as a sharable one.
1474
1474
        :returns: The new repository object.
1475
1475
 
1476
1476
        This may raise UninitializableFormat if shared repository are not
1477
 
        compatible the a_bzrdir.
 
1477
        compatible the controldir.
1478
1478
        """
1479
1479
        raise NotImplementedError(self.initialize)
1480
1480
 
1516
1516
                'Does not support nested trees', target_format,
1517
1517
                from_format=self)
1518
1518
 
1519
 
    def open(self, a_bzrdir, _found=False):
1520
 
        """Return an instance of this format for the bzrdir a_bzrdir.
 
1519
    def open(self, controldir, _found=False):
 
1520
        """Return an instance of this format for a controldir.
1521
1521
 
1522
1522
        _found is a private parameter, do not use it.
1523
1523
        """
1524
1524
        raise NotImplementedError(self.open)
1525
1525
 
1526
 
    def _run_post_repo_init_hooks(self, repository, a_bzrdir, shared):
1527
 
        from bzrlib.bzrdir import BzrDir, RepoInitHookParams
1528
 
        hooks = BzrDir.hooks['post_repo_init']
 
1526
    def _run_post_repo_init_hooks(self, repository, controldir, shared):
 
1527
        from bzrlib.controldir import ControlDir, RepoInitHookParams
 
1528
        hooks = ControlDir.hooks['post_repo_init']
1529
1529
        if not hooks:
1530
1530
            return
1531
 
        params = RepoInitHookParams(repository, self, a_bzrdir, shared)
 
1531
        params = RepoInitHookParams(repository, self, controldir, shared)
1532
1532
        for hook in hooks:
1533
1533
            hook(params)
1534
1534
 
1587
1587
# formats which have no format string are not discoverable or independently
1588
1588
# creatable on disk, so are not registered in format_registry.  They're
1589
1589
# all in bzrlib.repofmt.knitreponow.  When an instance of one of these is
1590
 
# needed, it's constructed directly by the BzrDir.  Non-native formats where
 
1590
# needed, it's constructed directly by the ControlDir.  Non-native formats where
1591
1591
# the repository is not separately opened are similar.
1592
1592
 
1593
1593
format_registry.register_lazy(