pycurl and bzr-svn breaks branching from https://launchpad.net/bzr with http 405 error
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Invalid
|
High
|
Jelmer Vernooij | ||
Bazaar Subversion Plugin |
Invalid
|
Undecided
|
Unassigned |
Bug Description
When I have both python-pycurl and bzr-svn installed, I can't create a branch from https:/
ixia:/devel/tmp> bzr branch https:/
bzr: ERROR: Invalid http response for https:/
This is a problem since goinstall (to install Go packages) uses such URL, so it's not possible to easily install packages.
Installed versions:
bzr: 2.4.0~bzr6024~
bzr-svn: 1.1.0~bzr3759~
python-pycurl: 7.19.0-3build1
Traceback:
Mon 2011-07-18 09:39:45 +0300
0.057 bazaar version: 2.5.0dev1
0.057 bzr arguments: [u'branch', u'https:/
0.087 looking for plugins in /home/bjorn/
0.126 Unable to load plugin 'lpmerge'. It requested API version (2, 3, 0) of module <module 'bzrlib' from '/usr/lib/
0.127 looking for plugins in /usr/lib/
0.142 encoding stdout as sys.stdout encoding 'UTF-8'
1.180 Transferred: 3kB (5.5kB/s r:2kB w:1kB)
1.186 Traceback (most recent call last):
File "/usr/lib/
return the_callable(*args, **kwargs)
File "/usr/lib/
ret = run(*run_argv)
File "/usr/lib/
return self.run(
File "/usr/lib/
return self._operation
File "/usr/lib/
self.cleanups, self.func, *args, **kwargs)
File "/usr/lib/
result = func(*args, **kwargs)
File "/usr/lib/
from_location)
File "/usr/lib/
bzrdir = klass.open(
File "/usr/lib/
return BzrDir.
File "/usr/lib/
redirected)
File "/usr/lib/
return obj(*args, **kwargs)
File "/usr/lib/
return action(transport)
File "/usr/lib/
transport, _server_
File "/usr/lib/
return prober.
File "/usr/lib/
format_string = transport.
File "/usr/lib/
f = self.get(relpath)
File "/usr/lib/
code, response_file = self._get(relpath, None)
File "/usr/lib/
return self._get_
File "/usr/lib/
curl, 'expected 200 or 404 for full response.')
File "/usr/lib/
% (code, msg, plaintext_body))
InvalidHttpResp
1.186 return code 3
summary: |
- pycurl and bzr-svn breaks branching from https://launchpad.net/bzr + pycurl and bzr-svn breaks branching from https://launchpad.net/bzr with + http 405 error |
Changed in bzr: | |
status: | Confirmed → In Progress |
assignee: | nobody → Jelmer Vernooij (jelmer) |
Changed in bzr: | |
status: | In Progress → Invalid |
Not sure whether this is a bug in bzr or bzr-svn (or pycurl maybe), but the problem is that bzr-svn sets pycurl. CUSTOMREQUEST and nothing unsets it before doing the next GET request. For example, the following patch solves the problem.
=== modified file '__init__.py'
conn. setopt( pycurl. WRITEFUNCTION, data.write)
transport. _curl_perform( conn, header)
code = conn.getinfo( pycurl. HTTP_CODE) pycurl. CUSTOMREQUEST)
raise NoSuchFile( transport. _path)
--- __init__.py 2011-06-12 20:30:12 +0000
+++ __init__.py 2011-07-18 07:12:44 +0000
@@ -206,6 +206,7 @@
+ conn.unsetopt(
if code == 404:
if code in (403, 405):