~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/transport/remote.py

Add a Transport.is_readonly remote call, let {Branch,Repository}.lock_write remote call return UnlockableTransport, and miscellaneous test fixes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
33
33
from bzrlib.smart import client, medium, protocol
34
34
 
35
35
# must do this otherwise urllib can't parse the urls properly :(
36
 
for scheme in ['ssh', 'bzr', 'bzr+loopback', 'bzr+ssh', 'bzr+http',
37
 
               'readonly+bzr']:
 
36
for scheme in ['ssh', 'bzr', 'bzr+loopback', 'bzr+ssh', 'bzr+http']:
38
37
    transport.register_urlparse_netloc_protocol(scheme)
39
38
del scheme
40
39
 
802
801
 
803
802
    def is_readonly(self):
804
803
        """Smart server transport can do read/write file operations."""
805
 
        return False
806
 
                                                   
 
804
        resp = self._call2('Transport.is_readonly')
 
805
        if resp == ('yes', ):
 
806
            return True
 
807
        elif resp == ('no', ):
 
808
            return False
 
809
        else:
 
810
            self._translate_error(resp)
 
811
        assert False, 'weird response %r' % (resp,)
 
812
 
807
813
    def get_smart_client(self):
808
814
        return self._medium
809
815