swfmill branches totally unusable

Asked by Daniel Cassidy on 2009-08-21

I have been getting 'different rich-root support' errors when trying to push to swfmill branches for a few days. I realise with hindsight where I have been going wrong -- I have been creating rich-root repositories locally, but I should have been creating ordinary non-rich-root repositories. It's easy for me to make this mistake, because I work a *lot* with bzr-svn, which requires rich-root, and swfmill was originally imported from an svn repository (via vcs-imports, which *doesn't* require rich-root, apparently).

Unfortunately, this realisation has come far too late, because in desperation I attempted to upgrade lp:~djcsdy/swfmill/trunk to 1.14-rich-root. This has failed spectacularly; see the corresponding page on Launchpad: https://code.launchpad.net/~djcsdy/swfmill/trunk

Bazaar seems to have created the usual backup.bzr directory, but I've no idea how to get at it to restore to branch to working order. All other swfmill branches are unusable because they stack on trunk, and I can't even create a new branch because Launchpad/Bazaar attempts to stack that too.

Could someone restore the branch for me or give me some guidance? I could delete everything and start from scratch (I have all my branches safely stored on several dev boxes), but I'm a bit nervous about deleting things that are apparently in an indeterminate state.

I realise that this is a bit of a stupid mistake to have made, but it could have been avoided if Bazaar had just given a helpful error message in the first place.


(Edit: Sorry, I meant to ask this question in 'Launchpad Itself' but somehow it ended up in 'Bazaar').

Question information

English Edit question
Launchpad itself Edit question
Aaron Bentley Edit question
Solved by:
Aaron Bentley
Last query:
Last reply:
Best Aaron Bentley (abentley) said : #1

The current error is lp:~djcsdy/swfmill/trunk is stacked on lp:~vcs-imports/swfmill/trunk and they are in different formats. You would normally be able to fix this by upgrading lp:~vcs-imports/swfmill/trunk. You don't own lp:~vcs-imports/swfmill/trunk, so you cannot.

It's a bit surprising that lp:~djcsdy/swfmill/trunk is stacked on vcs-imports, since lp:~djcsdy/swfmill/trunk is the development focus. I assume at some point, the import branch was the development focus.

One option is to delete the contents of lp:~djcsdy/swfmill/trunk (using an SFTP client or lp:hitchhiker) and push from scratch with bzr's --use-existing flag. You may need to temporarily unassign the development focus to prevent it from attempting to stack on itself.

Similarly, if you want to restore backup.bzr, you can use an SFTP client or lp:hitchhiker.


Daniel Cassidy (djcsdy) said : #2

Thanks Aaron Bentley, that solved my question.