bzr uses inaccessible, internal URL when pushing to server with host-relative default_stack_on url
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
| Bazaar |
Critical
|
Jonathan Lange |
Bug Description
When I try to push a branch to development Launchpad server running Bazaar 1.15, I get:
$ bzr push lp://dev/
Using default stacking branch /~jml/gnome-
Source format does not support stacking, using format: '1.6'
Packs 5 (adds stacking support, requires bzr 1.6)
bzr: ERROR: Unsupported protocol for url "lp-47059052510
HPSS calls: 2 (0 vfs) SmartSSHClientM
You can reproduce this:
1. [CLIENT] cd some-branch; bzr push bzr+ssh:
2. [SERVER] BzrDir.
3. [SERVER] echo 'default_
4. [CLIENT] bzr push bzr+ssh:
This behaviour occurs in bzr.dev r4416 and in the bzr/1.15 branch.
http://
2.258 hpss call: 'BzrDirFormat.
2.258 (to bzr+ssh:
[18692] 2009-06-09 19:11:35.034 INFO: Using default stacking branch /~jml/gnome-
2.856 result: ('.', 'no', 'no', 'yes', 'Bazaar RepositoryForma
With the above repro script, these lines become:
3.645 hpss call: 'BzrDirFormat.
3.645 (to bzr+ssh:
3.909 result: ('.', 'no', 'no', 'yes', 'Bazaar RepositoryForma
Related branches
- Andrew Bennetts: Approve on 2009-06-11
- Diff: 165 lines
Robert Collins (lifeless) wrote : Re: [Bug 385132] [NEW] bzr uses inaccessible, internal URL when pushing to server with host-relative default_stack_on url | #1 |
Michael Hudson-Doyle (mwhudson) wrote : | #2 |
I can't reproduce this outside a launchpad context. Haven't tried in a launchpad context yet...
Jonathan Lange (jml) wrote : | #3 |
Rob, my tests show that the return value contains an untranslated file:/// URL, even when there's no Launchpad value involved. It's of course possible that the client is smart enough to translate (or ignore) these.
I think we aren't seeing the failure with the repro script above because we're running against a local server, so file:/// URLs resolve on the client side.
description: | updated |
Jonathan Lange (jml) wrote : | #4 |
I *can* reproduce the bug without Launchpad, as long as the smartserver is not the local machine. I've updated the bug description accordingly.
description: | updated |
Jonathan Lange (jml) wrote : | #5 |
... and here's a bundle with tests that reproduce the bug. The first test discovers what I believe to be a related bug, the second test exactly reproduces the failure afaict.
Branch at lp:~jml/bzr/default-stacking-bug-385132.
Jonathan Lange (jml) wrote : | #6 |
<lifeless> jml: is it the value for final_stack or final_stack_pwd that are wrong?
<jml> lifeless: wrt bug 385132? Whatever the second-last value in the returned tuple is, that's the one that's wrong.
<lifeless> thats final_stack_pwd
<lifeless> it should be a relpath, I think, for our cases
<lifeless> there are unit tests for this api
<lifeless> in bzrlib.
<jml> lifeless: thanks, that helps.
Changed in bzr: | |
assignee: | nobody → Jonathan Lange (jml) |
status: | Triaged → In Progress |
Jonathan Lange (jml) wrote : | #7 |
<jml> spiv: thanks. any thoughts on the fact that bzr 1.15 will break on pushing new branches to Launchpad?
<spiv> jml: I don't have any great ideas about what to do for old clients.
<lifeless> jml: are there client side changes needed?
<jml> lifeless: yes.
<lifeless> jml: thats surprising to me.
<lifeless> if 1.15 is broken, 1.15.2
<lifeless> or bump the server verbs if needed.
<spiv> Launchpad (and potentially bzr core) could peek at the 'Software version' header and reply with UnknownMethod for that verb...
<jml> lifeless, spiv: I think this is something that we can resolve over the next week before the final release.
<spiv> jml: +1
Changed in bzr: | |
status: | In Progress → Fix Committed |
Jonathan Lange (jml) wrote : | #8 |
Landed in r4433.
Changed in bzr: | |
status: | Fix Committed → Fix Released |
Just quickly this is probably due to an LP plugin doing something
unexpected: this code path is tested with regular servers, and in those
cases a local chroot transport is in use but is correctly translated
back to the external url.
-Rob