~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/repository.py

  • Committer: Robert Collins
  • Date: 2006-06-11 11:44:47 UTC
  • mfrom: (1762 +trunk)
  • mto: (1767.2.2 integration)
  • mto: This revision was merged to the branch mainline in revision 1769.
  • Revision ID: robertc@robertcollins.net-20060611114447-ba56b7e27a72c941
Merge bzr.dev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
184
184
        self.control_files = control_files
185
185
        self._revision_store = _revision_store
186
186
        self.text_store = text_store
187
 
        # backwards compatibility
 
187
        # backwards compatability
188
188
        self.weave_store = text_store
189
189
        # not right yet - should be more semantically clear ? 
190
190
        # 
373
373
 
374
374
        # this code needs to read every new line in every inventory for the
375
375
        # inventories [revision_ids]. Seeing a line twice is ok. Seeing a line
376
 
        # not present in one of those inventories is unnecessary but not 
 
376
        # not pesent in one of those inventories is unnecessary but not 
377
377
        # harmful because we are filtering by the revision id marker in the
378
378
        # inventory lines : we only select file ids altered in one of those  
379
 
        # revisions. We don't need to see all lines in the inventory because
 
379
        # revisions. We dont need to see all lines in the inventory because
380
380
        # only those added in an inventory in rev X can contain a revision=X
381
381
        # line.
382
382
        for line in w.iter_lines_added_or_present_in_versions(selected_revision_ids):
704
704
        if ie.revision not in w:
705
705
            text_parents = []
706
706
            # FIXME: TODO: The following loop *may* be overlapping/duplicate
707
 
            # with InventoryEntry.find_previous_heads(). if it is, then there
 
707
            # with inventoryEntry.find_previous_heads(). if it is, then there
708
708
            # is a latent bug here where the parents may have ancestors of each
709
709
            # other. RBC, AB
710
710
            for revision, tree in parent_trees.iteritems():
874
874
                    raise errors.NoSuchRevision(self, revision_id)
875
875
                # a ghost
876
876
                result.add_ghost(revision_id)
877
 
                # mark it as done so we don't try for it again.
 
877
                # mark it as done so we dont try for it again.
878
878
                done.add(revision_id)
879
879
                continue
880
880
            parent_ids = vf.get_parents_with_ghosts(revision_id)
964
964
        raise NotImplementedError(self.get_format_string)
965
965
 
966
966
    def get_format_description(self):
967
 
        """Return the short description for this format."""
 
967
        """Return the short desciption for this format."""
968
968
        raise NotImplementedError(self.get_format_description)
969
969
 
970
970
    def _get_revision_store(self, repo_transport, control_files):
1079
1079
        files = [('inventory.weave', StringIO(empty_weave)),
1080
1080
                 ]
1081
1081
        
1082
 
        # FIXME: RBC 20060125 don't peek under the covers
 
1082
        # FIXME: RBC 20060125 dont peek under the covers
1083
1083
        # NB: no need to escape relative paths that are url safe.
1084
1084
        control_files = LockableFiles(a_bzrdir.transport, 'branch-lock',
1085
1085
                                      TransportLock)
1131
1131
     - TextStores for texts, inventories,revisions.
1132
1132
 
1133
1133
    This format is deprecated: it indexes texts using a text id which is
1134
 
    removed in format 5; initialization and write support for this format
 
1134
    removed in format 5; initializationa and write support for this format
1135
1135
    has been removed.
1136
1136
    """
1137
1137
 
1236
1236
 
1237
1237
 
1238
1238
class MetaDirRepositoryFormat(RepositoryFormat):
1239
 
    """Common base class for the new repositories using the metadir layout."""
 
1239
    """Common base class for the new repositories using the metadir layour."""
1240
1240
 
1241
1241
    def __init__(self):
1242
1242
        super(MetaDirRepositoryFormat, self).__init__()
1244
1244
 
1245
1245
    def _create_control_files(self, a_bzrdir):
1246
1246
        """Create the required files and the initial control_files object."""
1247
 
        # FIXME: RBC 20060125 don't peek under the covers
 
1247
        # FIXME: RBC 20060125 dont peek under the covers
1248
1248
        # NB: no need to escape relative paths that are url safe.
1249
1249
        repository_transport = a_bzrdir.get_repository_transport(self)
1250
1250
        control_files = LockableFiles(repository_transport, 'lock', LockDir)
1510
1510
        # grab the basis available data
1511
1511
        if basis is not None:
1512
1512
            self.target.fetch(basis, revision_id=revision_id)
1513
 
        # but don't bother fetching if we have the needed data now.
 
1513
        # but dont bother fetching if we have the needed data now.
1514
1514
        if (revision_id not in (None, NULL_REVISION) and 
1515
1515
            self.target.has_revision(revision_id)):
1516
1516
            return
1607
1607
    def is_compatible(source, target):
1608
1608
        """Be compatible with known Weave formats.
1609
1609
        
1610
 
        We don't test for the stores being of specific types because that
 
1610
        We dont test for the stores being of specific types becase that
1611
1611
        could lead to confusing results, and there is no need to be 
1612
1612
        overly general.
1613
1613
        """
1628
1628
        if basis is not None:
1629
1629
            # copy the basis in, then fetch remaining data.
1630
1630
            basis.copy_content_into(self.target, revision_id)
1631
 
            # the basis copy_content_into could miss-set this.
 
1631
            # the basis copy_content_into could misset this.
1632
1632
            try:
1633
1633
                self.target.set_make_working_trees(self.source.make_working_trees())
1634
1634
            except NotImplementedError:
1677
1677
    def missing_revision_ids(self, revision_id=None):
1678
1678
        """See InterRepository.missing_revision_ids()."""
1679
1679
        # we want all revisions to satisfy revision_id in source.
1680
 
        # but we don't want to stat every file here and there.
 
1680
        # but we dont want to stat every file here and there.
1681
1681
        # we want then, all revisions other needs to satisfy revision_id 
1682
1682
        # checked, but not those that we have locally.
1683
1683
        # so the first thing is to get a subset of the revisions to 
1696
1696
        source_ids_set = set(source_ids)
1697
1697
        # source_ids is the worst possible case we may need to pull.
1698
1698
        # now we want to filter source_ids against what we actually
1699
 
        # have in target, but don't try to check for existence where we know
 
1699
        # have in target, but dont try to check for existence where we know
1700
1700
        # we do not have a revision as that would be pointless.
1701
1701
        target_ids = set(self.target._all_possible_ids())
1702
1702
        possibly_present_revisions = target_ids.intersection(source_ids_set)
1725
1725
    def is_compatible(source, target):
1726
1726
        """Be compatible with known Knit formats.
1727
1727
        
1728
 
        We don't test for the stores being of specific types because that
 
1728
        We dont test for the stores being of specific types becase that
1729
1729
        could lead to confusing results, and there is no need to be 
1730
1730
        overly general.
1731
1731
        """
1759
1759
        source_ids_set = set(source_ids)
1760
1760
        # source_ids is the worst possible case we may need to pull.
1761
1761
        # now we want to filter source_ids against what we actually
1762
 
        # have in target, but don't try to check for existence where we know
 
1762
        # have in target, but dont try to check for existence where we know
1763
1763
        # we do not have a revision as that would be pointless.
1764
1764
        target_ids = set(self.target._all_possible_ids())
1765
1765
        possibly_present_revisions = target_ids.intersection(source_ids_set)