[RFC] upgrade ordering & UI

Ian Clatworthy ian.clatworthy at internode.on.net
Thu May 14 13:12:28 BST 2009


Hi all,

I've made good progress today on a better upgrade command. If you want
to test progress so far, grab a copy of lp:~bzr/bzr/smooth-upgrades. Of
course, this is *not* production code yet so try it on *copies* on your
data if you want to test it.

In particular, if you now pass upgrade the URL of a shared repo, it should:

1. upgrade the shared repo
2. upgrade dependent stacked branches
3. upgrade dependent unstacked branches

I'm planning to extend that with:

4. upgrade (lightweight) checkouts under the repo referencing those
   branches

Does that order sound right and should it always work? It seems to be
working for 1.6 => 1.9 upgrading but it seems to fail for
1.6 => development6-rich-root upgrading. In the latter case, I'm getting
an error (about an incompatible rich-root issue upgrading the stacked
branch from memory). Is that an ordering issue or a separate bug do you
think?

On the UI front, I have some things I'd like feedback on:

1. I'm planning to add a --clean option that will delete backup.bzr
   for things that successfully upgraded. I think explicit is good here.
   Does everyone agree? Right now, I do all the clean-up after all the
   upgrades. Would progressive clean-up be better? I guess it is if
   you interrupt things but it feels slightly less safe?

2. Robert has asked for an upgrade to dev6rr to be followed by a pack.
   Should that be implicit or an option? It seems to me that we ought to
   clean out obsolete_packs iff we pack as part of upgrade and --clean
   is given as an option. All agree?

3. I've suggested a --find option to search for repos/branches/checkouts
   to upgrade. I think that will be good because it allows upgrade to
   smartly order things, e.g. stacked before unstacked. Another option
   though is for upgrade to take a list of directories to upgrade. That
   seems more flexible but it then requires a separate command to find
   those directories and optionally intelligently order them. Any
   preference on direction here? (It will be a follow-up patch
   regardless.)

Ian C.



More information about the bazaar mailing list