Plan and UI for upgrading multiple stacked branches
Bug #374735 reported by
Robert Collins
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Fix Released
|
High
|
Ian Clatworthy |
Bug Description
Upgrading stacked environments across the rich-root barrier is tricky. We need clear documentation and likely code support too.
Bugs which when fixed will improve the process/docs:
Related branches
Changed in bzr: | |
importance: | Undecided → High |
status: | New → Triaged |
Changed in bzr: | |
importance: | High → Critical |
milestone: | none → 2.0 |
description: | updated |
Changed in bzr: | |
assignee: | nobody → Ian Clatworthy (ian-clatworthy) |
Changed in bzr: | |
status: | Triaged → In Progress |
Changed in bzr: | |
importance: | Critical → High |
To post a comment you must log in.
Some draft content which highlights some issues.
Upgrading to a rich root or 2.0 format +++++++ +++++++ +++++++ +++++++ +++
+++++++
Overall process
===============
* Test that your code migrates
* Schedule a migration time and tell all users
* Users migrate in advance of trunk
* Backup
* Migrate
* Rollback if necessary
Test migration
==============
* Run 'bzr check'. If there are errors try /bugs.launchpad .net/bzr
* 'bzr reconcile' and 'bzr check' to see if they are known
issues bzr can fix
* Otherwise file a bug at https:/
* Take a copy of trunk now that it is clean. If you have a shared
repository you need to branch into a new shared repository or standalone
branch before doing the upgrade.
* Run 'bzr upgrade --<format>' to upgrade to that format.
* Run 'bzr check'. If there are errors, file a bug.
Schedule a time
===============
All stacking branches *must* upgrade before your trunk branch (or
whatever branch they stacked on). So its very important to give users
plenty of time to upgrade. If you have a tight knit community or are not
using stacked branches you can likely do this in 24 hours or so. If the
community is more widespread leave more time. If you are using launchpad
you will be using stacked branches. Launchpad cannot yet upgrade these
for you, and once upgraded a stacked branch cannot be used until the
trunk upgrades - another key reason to advertise this process widely.
Users migrate
=============
Users should follow the 'do a test migration' instructions for each
branch they have.
If branches fail, file bugs and the user should alert the coordinator
that the migration can't go ahead.
If you have stacked branches, you currently cannot migrate.
A backup should be taken of repositories/ branches before backing up.
Backup
======
Take a full backup of your trunk and project branches.
Migrate
=======
* Follow the migration checklist again (new commits need checking too).
Instead of copying before upgrading though, just upgrade in-place.
Rollback
========
* Check things are working well for all users. If not, rollback before
people start committing in the new format: once they start you cannot
roll back.
Valid signature