"bzr bind" on a RemoteBranch gives confusing "upgrade required" message
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Confirmed
|
Low
|
Unassigned |
Bug Description
Scenario:
I have a remote branch at bzr+ssh:
I have a local heavyweight checkout at /local/
I have a local lightweight checkout of the remote branch at /local/
I would like to bind /local/
cd /local/
returns an error:
bzr: ERROR: To use this feature you must upgrade your branch at bzr+ssh:
However,
bzr info bzr+ssh:
reports "bzr: ERROR: The branch format Meta directory format 1 is already at the most recent format."
The traceback in ~/.bzr.log from the "bzr bind" step is:
5.033 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/
b.bind(b_other)
File "/usr/lib/
raise errors.
UpgradeRequired: To use this feature you must upgrade your branch at bzr+ssh:
bzr versions:
local: $ bzr --version
Bazaar (bzr) 1.13
Python interpreter: /usr/bin/python 2.6.1
Python standard library: /usr/lib/python2.6
bzrlib: /usr/lib/
remote: $ bzr --version
Bazaar (bzr) 1.12
Python interpreter: /usr/bin/python 2.5.2
Python standard library: /usr/lib/python2.5
bzrlib: /usr/lib/
The error from bzr bind persisted when I upgraded the remote side to 1.13.
description: | updated |
summary: |
- "bzr bind" insists on an upgrade, but the bound location is already at - the newest format + "bzr bind" insists on an upgrade of previously bound location, but the + location is already at the newest format |
summary: |
- "bzr bind" insists on an upgrade of previously bound location, but the - location is already at the newest format + "bzr bind" on a RemoteBranch gives confusing "upgrade required" message |
Changed in bzr: | |
status: | New → Confirmed |
importance: | Undecided → Low |
tags: | added: bind checkout hpss |
tags: | added: check-for-breezy |
RemoteBranch doesn't implement bind, so that's the immediate cause of the UpgradeRequired exception. At a minimum we should make RemoteBranch raise a more appropriate error from bind.
I think perhaps cmd_bind on the lightweight checkout is opening the referenced branch, rather than the lightweight checkout itself, and that's why the referenced branch is being told to bind, rather than the lightweight checkout as Mary intended.
Does "cd /local/ local-lightweig ht-checkout; bzr switch /local/ local-heavyweig ht-checkout" work?