~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/controldir.py

  • Committer: Martin Pool
  • Date: 2010-09-14 07:19:22 UTC
  • mto: This revision was merged to the branch mainline in revision 5452.
  • Revision ID: mbp@sourcefrog.net-20100914071922-qdk3hi3p4h5meshu
Better test for break-lock; show lock URLs as they're broken

Show diffs side-by-side

added added

removed removed

Lines of Context:
542
542
                branch = tree.branch
543
543
        return tree, branch
544
544
 
545
 
    def get_config(self):
546
 
        """Get configuration for this ControlDir."""
547
 
        raise NotImplementedError(self.get_config)
548
 
 
549
 
    def check_conversion_target(self, target_format):
550
 
        """Check that a bzrdir as a whole can be converted to a new format."""
551
 
        raise NotImplementedError(self.check_conversion_target)
552
 
 
553
 
    def clone(self, url, revision_id=None, force_new_repo=False,
554
 
              preserve_stacking=False):
555
 
        """Clone this bzrdir and its contents to url verbatim.
556
 
 
557
 
        :param url: The url create the clone at.  If url's last component does
558
 
            not exist, it will be created.
559
 
        :param revision_id: The tip revision-id to use for any branch or
560
 
            working tree.  If not None, then the clone operation may tune
561
 
            itself to download less data.
562
 
        :param force_new_repo: Do not use a shared repository for the target
563
 
                               even if one is available.
564
 
        :param preserve_stacking: When cloning a stacked branch, stack the
565
 
            new branch on top of the other branch's stacked-on branch.
566
 
        """
567
 
        return self.clone_on_transport(get_transport(url),
568
 
                                       revision_id=revision_id,
569
 
                                       force_new_repo=force_new_repo,
570
 
                                       preserve_stacking=preserve_stacking)
571
 
 
572
 
    def clone_on_transport(self, transport, revision_id=None,
573
 
        force_new_repo=False, preserve_stacking=False, stacked_on=None,
574
 
        create_prefix=False, use_existing_dir=True):
575
 
        """Clone this bzrdir and its contents to transport verbatim.
576
 
 
577
 
        :param transport: The transport for the location to produce the clone
578
 
            at.  If the target directory does not exist, it will be created.
579
 
        :param revision_id: The tip revision-id to use for any branch or
580
 
            working tree.  If not None, then the clone operation may tune
581
 
            itself to download less data.
582
 
        :param force_new_repo: Do not use a shared repository for the target,
583
 
                               even if one is available.
584
 
        :param preserve_stacking: When cloning a stacked branch, stack the
585
 
            new branch on top of the other branch's stacked-on branch.
586
 
        :param create_prefix: Create any missing directories leading up to
587
 
            to_transport.
588
 
        :param use_existing_dir: Use an existing directory if one exists.
589
 
        """
590
 
        raise NotImplementedError(self.clone_on_transport)
 
545
 
591
546
 
592
547
 
593
548
class ControlDirFormat(object):
967
922
# appear in chronological order and format descriptions can build
968
923
# on previous ones.
969
924
format_registry = ControlDirFormatRegistry()
970
 
 
971
 
network_format_registry = registry.FormatRegistry()
972
 
"""Registry of formats indexed by their network name.
973
 
 
974
 
The network name for a ControlDirFormat is an identifier that can be used when
975
 
referring to formats with smart server operations. See
976
 
ControlDirFormat.network_name() for more detail.
977
 
"""