~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/transport/__init__.py

Merge bzr.dev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
317
317
        else:
318
318
            return True
319
319
 
320
 
    def external_url(self):
321
 
        """Return a URL for self that can be given to an external process.
322
 
 
323
 
        There is no guarantee that the URL can be accessed from a different
324
 
        machine - e.g. file:/// urls are only usable on the local machine,
325
 
        sftp:/// urls when the server is only bound to localhost are only
326
 
        usable from localhost etc.
327
 
 
328
 
        NOTE: This method may remove security wrappers (e.g. on chroot
329
 
        transports) and thus should *only* be used when the result will not
330
 
        be used to obtain a new transport within bzrlib. Ideally chroot
331
 
        transports would know enough to cause the external url to be the exact
332
 
        one used that caused the chrooting in the first place, but that is not
333
 
        currently the case.
334
 
 
335
 
        :return: A URL that can be given to another process.
336
 
        :raises InProcessTransport: If the transport is one that cannot be
337
 
            accessed out of the current process (e.g. a MemoryTransport)
338
 
            then InProcessTransport is raised.
339
 
        """
340
 
        raise NotImplementedError(self.external_url)
341
 
 
342
320
    def should_cache(self):
343
321
        """Return True if the data pulled across should be cached locally.
344
322
        """