/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/remote.py

  • Committer: Robert Collins
  • Date: 2010-05-11 08:44:59 UTC
  • mfrom: (5221 +trunk)
  • mto: This revision was merged to the branch mainline in revision 5223.
  • Revision ID: robertc@robertcollins.net-20100511084459-pb0uinna9zs3wu59
Merge trunk - resolve conflicts.

Show diffs side-by-side

added added

removed removed

Lines of Context:
899
899
    def _has_same_fallbacks(self, other_repo):
900
900
        """Returns true if the repositories have the same fallbacks."""
901
901
        # XXX: copied from Repository; it should be unified into a base class
902
 
        # <https://bugs.launchpad.net/bzr/+bug/401622>
 
902
        # <https://bugs.edge.launchpad.net/bzr/+bug/401622>
903
903
        my_fb = self._fallback_repositories
904
904
        other_fb = other_repo._fallback_repositories
905
905
        if len(my_fb) != len(other_fb):
1980
1980
        if response_tuple[0] != 'ok':
1981
1981
            raise errors.UnexpectedSmartServerResponse(response_tuple)
1982
1982
        byte_stream = response_handler.read_streamed_body()
1983
 
        src_format, stream = smart_repo._byte_stream_to_stream(byte_stream,
1984
 
            self._record_counter)
 
1983
        src_format, stream = smart_repo._byte_stream_to_stream(byte_stream)
1985
1984
        if src_format.network_name() != repo._format.network_name():
1986
1985
            raise AssertionError(
1987
1986
                "Mismatched RemoteRepository and stream src %r, %r" % (
2449
2448
            self._lock_mode = 'w'
2450
2449
            self._lock_count = 1
2451
2450
        elif self._lock_mode == 'r':
2452
 
            raise errors.ReadOnlyError(self)
 
2451
            raise errors.ReadOnlyTransaction
2453
2452
        else:
2454
2453
            if token is not None:
2455
2454
                # A token was given to lock_write, and we're relocking, so
2789
2788
        medium = self._branch._client._medium
2790
2789
        if medium._is_remote_before((1, 14)):
2791
2790
            return self._vfs_set_option(value, name, section)
2792
 
        if isinstance(value, dict):
2793
 
            if medium._is_remote_before((2, 2)):
2794
 
                return self._vfs_set_option(value, name, section)
2795
 
            return self._set_config_option_dict(value, name, section)
2796
 
        else:
2797
 
            return self._set_config_option(value, name, section)
2798
 
 
2799
 
    def _set_config_option(self, value, name, section):
2800
2791
        try:
2801
2792
            path = self._branch._remote_path()
2802
2793
            response = self._branch._client.call('Branch.set_config_option',
2803
2794
                path, self._branch._lock_token, self._branch._repo_lock_token,
2804
2795
                value.encode('utf8'), name, section or '')
2805
2796
        except errors.UnknownSmartMethod:
2806
 
            medium = self._branch._client._medium
2807
2797
            medium._remember_remote_is_before((1, 14))
2808
2798
            return self._vfs_set_option(value, name, section)
2809
2799
        if response != ():
2810
2800
            raise errors.UnexpectedSmartServerResponse(response)
2811
2801
 
2812
 
    def _serialize_option_dict(self, option_dict):
2813
 
        utf8_dict = {}
2814
 
        for key, value in option_dict.items():
2815
 
            if isinstance(key, unicode):
2816
 
                key = key.encode('utf8')
2817
 
            if isinstance(value, unicode):
2818
 
                value = value.encode('utf8')
2819
 
            utf8_dict[key] = value
2820
 
        return bencode.bencode(utf8_dict)
2821
 
 
2822
 
    def _set_config_option_dict(self, value, name, section):
2823
 
        try:
2824
 
            path = self._branch._remote_path()
2825
 
            serialised_dict = self._serialize_option_dict(value)
2826
 
            response = self._branch._client.call(
2827
 
                'Branch.set_config_option_dict',
2828
 
                path, self._branch._lock_token, self._branch._repo_lock_token,
2829
 
                serialised_dict, name, section or '')
2830
 
        except errors.UnknownSmartMethod:
2831
 
            medium = self._branch._client._medium
2832
 
            medium._remember_remote_is_before((2, 2))
2833
 
            return self._vfs_set_option(value, name, section)
2834
 
        if response != ():
2835
 
            raise errors.UnexpectedSmartServerResponse(response)
2836
 
 
2837
2802
    def _real_object(self):
2838
2803
        self._branch._ensure_real()
2839
2804
        return self._branch._real_branch