sftp bugs

Matthieu Moy Matthieu.Moy at imag.fr
Tue Nov 29 21:42:14 GMT 2005


Hi,

There are a couple of bugs in the upstream sftp implementation. Most
are fixed in John's sftp-fix branch, but I still have a problem with
it:

$ bzr push sftp://moy@localhost/tmp/branch
SSH id_rsa password: 
SSH moy at localhost password: 
bzr: ERROR: bzrlib.errors.NonRelativePath: path
u'sftp://moy@localhost/tmp/branch' is not under base URL
u'sftp://moy@localhost/tmp'
  at /home/moy/dev/sftp-fix/bzrlib/transport/sftp.py line 208
  in relpath
bzr: ERROR: Channel request for unknown channel 1


This is because _parse_url does a

            # remove leading '/'
            self._path = urllib.unquote(self._path[1:])

(shouldn't this be a urllib.unquote(self._path.lstrip('/')) to remove
multiple slashes?)

and then, relpath compares an abspath starting with a '/' to
self._path (it uses the same regexp, but not doesn't remove the
slash).


If I remove the leading '/' in relpath, unfortunately, I hit another
problem:

$ bzr push sftp://moy@localhost/tmp/branch3
SSH id_rsa password: 
SSH moy at localhost password: 
bzr: ERROR: exceptions.Exception: unknown type for
u'tmp/branch3/.bzr/README.tmp.1133300393.141431093.10134.344143353'
type <type 'unicode'>
  at /usr/lib/python2.4/site-packages/paramiko/sftp_client.py line 527
  in _async_request
bzr: ERROR: Channel request for unknown channel 1
$

My config is relatively standard. I'm ssh-ing to localhost, from a
freshly created branch (bzr init; touch foo; bzr add foo; bzr commit).

Thanks,

-- 
Matthieu




More information about the bazaar mailing list