Cannot upgrade stacked branches from 1.9 to 2a on Launchpad

Bug #424136 reported by Andrew Bennetts
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Launchpad itself
Fix Released
High
Michael Hudson-Doyle

Bug Description

lp:bzr and lp:bzr/2.0 both upgraded from 1.9 format to 2a format yesterday. So I want to upgrade my 1.9 format branches that are stacked on those.

I can execute "bzr upgrade lp:~spiv/bzr/..." just fine, but this doesn't cause the branch to be updated. i.e. nothing visible happens on e.g. <https://code.edge.launchpad.net/~spiv/bzr/insert-stream-check-chk-root>, everything is exactly as it was before the upgrade. The mirrored branch is still in the old format. That's the first part of this bug.

The second part is that when I force Launchpad to rescan the branch with e.g. "bzr push --overwrite -r -2 && bzr push", Launchpad reports an error on the branch page:

"CHKInventoryRepository('lp-mirrored:///~bzr-pqm/bzr/2.0/.bzr/repository') is not compatible with KnitPackRepository('lp-mirrored:///~spiv/bzr/insert-stream-check-chk-root/.bzr/repository') different rich-root support"

But I upgraded precisely to fix that problem!

On #launchpad, Michael speculated that this is because Branch.open on the existing (un-upgraded) mirrored branch fails, and that occurs before comparing repository formats. The code either needs to check the repository format before the branch format, or pass ignore_fallbacks to BzrDir.open_branch, or something like that.

Any non-rich-root -> rich-root upgrade of a branch will cause this for all branches that stack on that branch.

Andrew Bennetts (spiv)
description: updated
Jonathan Lange (jml)
tags: added: branch-puller
Revision history for this message
Andrew Bennetts (spiv) wrote :

As discussed on Friday, catching the IncompatibleRepositories exception at Branch.open time would probably work too, and is probably the simplest change.

Changed in launchpad-code:
assignee: nobody → Michael Hudson (mwhudson)
milestone: none → 3.0
status: Confirmed → In Progress
Changed in launchpad-code:
status: In Progress → Fix Committed
Revision history for this message
Andrew Bennetts (spiv) wrote :

I tested this on staging (make a trunk branch in 1.9 format; make a 1.9 branch stacked on that; wait for puller/scanner; upgrade trunk (and push new revision to workaround bug where scanner(?) fails to notice format change without tip change); wait for puller/scanner; upgrade stacked branch (and push new rev)).

The end result is that the upgrade of the stacked branch has propagated successfully, AFAICT.

Tim Penhey (thumper)
Changed in launchpad-code:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.