Better error messages for bzr lp://
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Confirmed
|
Medium
|
Unassigned | ||
Breezy |
Triaged
|
Low
|
Unassigned | ||
Launchpad itself |
Triaged
|
Low
|
Unassigned |
Bug Description
We'd like to have clear error messages for lp://. JML suggested the following test cases:
jml@rhino:~$ bzr branch lp:no-such-project
bzr: ERROR: Not a branch: http://
jml@rhino:~$ bzr branch lp://subunit
bzr: ERROR: Invalid url supplied to transport: 'lp://subunit'
jml@rhino:~$ bzr branch lp:subunit/fix-stdout
bzr: ERROR: Not a branch: http://
jml@rhino:~$ bzr branch lp:~exarkun/subunit/fix-stdout
bzr: ERROR: Not a branch: http://
jml@rhino:
bzr: ERROR: Transport operation not possible: http does not support mkdir()
We should add in ones for
branch lp:ubuntu/nopackage
branch lp:ubuntu/maverick/nopackage
push lp:ubuntu/natty/package-which-failed-import
log lp:ubuntu/apport/ChangeLog (or similar - a sub-path query into the repo)
The current design situation is this:
the lp: xmlrpc lookup handles aliased branches (that is product, product-series and package-
This API can return informative errors, but the codehosting server is having them squashed into a VFS model because BzrDir.open2.1 (and similar) delegate to the regular BzrDir ControlDir implementation.
If we install a custom BzrDir.open verb (and other similar ones) then we can directly call the translatePath API and only if it succeeds delegate to the regular BzrDir ControlDir implementation.
If translatePath returns an error we can wrap that in FileNotFound for returning to the bzr client; the bzr client should show that error (and we can make sure it does) to the user, including the custom message translatePath generates.
This may require some detailed knowledge of bzr internals <-> codehosting glue.
tags: | added: lp-directory |
tags: |
added: lpurl removed: lp-directory |
description: | updated |
Changed in launchpad-code: | |
status: | New → Triaged |
importance: | Undecided → Medium |
tags: | added: check-for-breezy |
Changed in brz: | |
status: | New → Triaged |
importance: | Undecided → Low |
tags: | removed: check-for-breezy |
Right, the error messages should be improved.
It's not clear to me what would be the best way, since the current lp:// scheme just builds on the existing branch-reference redirection built into the launchpad webapp. Setting to Medium importance out of indecision.