~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/remote.py

Merge in real stacked repository work.

Show diffs side-by-side

added added

removed removed

Lines of Context:
300
300
        # Can this repository be given external locations to lookup additional
301
301
        # data.
302
302
        self.supports_external_lookups = False
 
303
        # Additional places to query for data.
 
304
        self._fallback_repositories = []
303
305
 
304
306
    def __str__(self):
305
307
        return "%s(%s)" % (self.__class__.__name__, self.base)
678
680
                committer=committer, revprops=revprops, revision_id=revision_id)
679
681
        return builder
680
682
 
 
683
    def add_fallback_repository(self, repository):
 
684
        """Add a repository to use for looking up data not held locally.
 
685
        
 
686
        :param repository: A repository.
 
687
        """
 
688
        if not self._format.supports_external_lookups:
 
689
            raise errors.UnstackableRepositoryFormat(self._format, self.base)
 
690
        # We need to accumulate additional repositories here, to pass them in
 
691
        # on various RPC's.
 
692
        self._fallback_repositories.append(repository)
 
693
 
681
694
    def add_inventory(self, revid, inv, parents):
682
695
        self._ensure_real()
683
696
        return self._real_repository.add_inventory(revid, inv, parents)