~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/remote.py

NEWS section template into a separate file

Show diffs side-by-side

added added

removed removed

Lines of Context:
431
431
        self._supports_tree_reference = None
432
432
        self._rich_root_data = None
433
433
 
 
434
    def __repr__(self):
 
435
        return "%s(_network_name=%r)" % (self.__class__.__name__,
 
436
            self._network_name)
 
437
 
434
438
    @property
435
439
    def fast_deltas(self):
436
440
        self._ensure_real()
562
566
    def __eq__(self, other):
563
567
        return self.__class__ is other.__class__
564
568
 
565
 
    def check_conversion_target(self, target_format):
566
 
        if self.rich_root_data and not target_format.rich_root_data:
567
 
            raise errors.BadConversionTarget(
568
 
                'Does not support rich root data.', target_format)
569
 
        if (self.supports_tree_reference and
570
 
            not getattr(target_format, 'supports_tree_reference', False)):
571
 
            raise errors.BadConversionTarget(
572
 
                'Does not support nested trees', target_format)
573
 
 
574
569
    def network_name(self):
575
570
        if self._network_name:
576
571
            return self._network_name
1744
1739
            # The stream included an inventory-delta record, but the remote
1745
1740
            # side isn't new enough to support them.  So we need to send the
1746
1741
            # rest of the stream via VFS.
 
1742
            self.target_repo.refresh_data()
1747
1743
            return self._resume_stream_with_vfs(response, src_format)
1748
1744
        if response[0][0] == 'missing-basis':
1749
1745
            tokens, missing_keys = bencode.bdecode_as_tuple(response[0][1])
1891
1887
        :param search: The overall search to satisfy with streams.
1892
1888
        :param sources: A list of Repository objects to query.
1893
1889
        """
1894
 
        self.serialiser = self.to_format._serializer
 
1890
        self.from_serialiser = self.from_repository._format._serializer
1895
1891
        self.seen_revs = set()
1896
1892
        self.referenced_revs = set()
1897
1893
        # If there are heads in the search, or the key count is > 0, we are not
1914
1910
    def missing_parents_rev_handler(self, substream):
1915
1911
        for content in substream:
1916
1912
            revision_bytes = content.get_bytes_as('fulltext')
1917
 
            revision = self.serialiser.read_revision_from_string(revision_bytes)
 
1913
            revision = self.from_serialiser.read_revision_from_string(
 
1914
                revision_bytes)
1918
1915
            self.seen_revs.add(content.key[-1])
1919
1916
            self.referenced_revs.update(revision.parent_ids)
1920
1917
            yield content
2272
2269
        medium = self._client._medium
2273
2270
        if medium._is_remote_before((1, 18)):
2274
2271
            self._vfs_set_tags_bytes(bytes)
 
2272
            return
2275
2273
        try:
2276
2274
            args = (
2277
2275
                self._remote_path(), self._lock_token, self._repo_lock_token)
2394
2392
            raise NotImplementedError(self.dont_leave_lock_in_place)
2395
2393
        self._leave_lock = False
2396
2394
 
 
2395
    @needs_read_lock
2397
2396
    def get_rev_id(self, revno, history=None):
2398
2397
        if revno == 0:
2399
2398
            return _mod_revision.NULL_REVISION
2764
2763
                    'Missing key %r in context %r', key_err.args[0], context)
2765
2764
                raise err
2766
2765
 
2767
 
    if err.error_verb == 'NoSuchRevision':
 
2766
    if err.error_verb == 'IncompatibleRepositories':
 
2767
        raise errors.IncompatibleRepositories(err.error_args[0],
 
2768
            err.error_args[1], err.error_args[2])
 
2769
    elif err.error_verb == 'NoSuchRevision':
2768
2770
        raise NoSuchRevision(find('branch'), err.error_args[0])
2769
2771
    elif err.error_verb == 'nosuchrevision':
2770
2772
        raise NoSuchRevision(find('repository'), err.error_args[0])