~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/en/upgrade-guide/data_migration.txt

  • Committer: Martin Pool
  • Date: 2009-09-14 02:30:23 UTC
  • mto: This revision was merged to the branch mainline in revision 4693.
  • Revision ID: mbp@sourcefrog.net-20090914023023-ros0f3ndo04j3bww
Clearer docs about bzr help.  (Thanks to Naoki)

Show diffs side-by-side

added added

removed removed

Lines of Context:
30
30
* **upgrade** - migrate data to a different format.
31
31
 
32
32
**reconcile** is rarely needed but it's good practice to run **check**
33
 
before and after running **upgrade**.
 
33
before and after runing **upgrade**.
34
34
 
35
35
For detailed help on these commands, see the `Bazaar User Reference`_.
36
36
 
37
 
.. _Bazaar User Reference: ../user-reference/index.html
 
37
.. _Bazaar User Reference: ../user-reference/bzr_man.html
38
38
 
39
39
 
40
40
Communicating with your community
41
41
---------------------------------
42
42
 
43
 
To enable a smooth transition to the new format, you should:
 
43
To enable a smooth transistion to the new format, you should:
44
44
 
45
45
1. Make one person responsible for migrating the trunk.
46
46
 
97
97
Migrating branches on Launchpad
98
98
-------------------------------
99
99
 
100
 
You have two options for upgrading your Launchpad branches.  You can either
101
 
upgrade them remotely or you can upgrade them locally and push the migrated
102
 
branch to Launchpad.  We recommend the latter.  Upgrading remotely currently
103
 
requires a fast, rock solid network connection to the Launchpad servers, and
104
 
any interruption in that connection can leave you with a partially upgraded
105
 
branch.  The instructions below are the safest and often fastest way to
106
 
upgrade your Launchpad branches.
107
 
 
108
100
To allow isolation between public and private branches, Launchpad
109
101
uses stacked branches rather than shared repositories as the core
110
102
technology for efficient branch storage. The process for migrating
111
103
to a new format for projects using Launchpad code hosting is therefore
112
104
different to migrating a personal or in-house project.
113
105
 
114
 
In Launchpad, a project can define a *development series* and associate a
115
 
branch with that series.  The branch then becomes the *focus of development*
116
 
and gets special treatment and a shortcut url.  By default, if anybody
117
 
branches your project's focus of development and pushes changes back to
118
 
Launchpad, their branch will be stacked on your development focus branch.
119
 
Also, branches can be associated with other Launchpad artifacts such as bugs
120
 
and merge proposals.  All of these things mean that upgrading your focus of
121
 
development branch is trickier.
122
 
 
123
106
Here are the steps to follow:
124
107
 
125
 
1. The nominated person grabs a copy of trunk and does the migration locally.
 
108
1. The nominated person grabs a copy of trunk and does the migration.
126
109
 
127
110
2. On Launchpad, unset the current trunk from being the development focus.
128
111
   (This *must* be done or the following step won't work as expected.)
129
112
 
130
 
   1. Go to your project's home page on Launchpad
131
 
 
132
 
   2. Look for "XXX is the current focus of development"
133
 
 
134
 
   3. Click on the edit (pencil) icon
135
 
 
136
 
   4. Click on "Change details" in the portlet on the right
137
 
 
138
 
   5. Scroll down to where it says "Branch: (Optional)"
139
 
 
140
 
   6. Blank out this input field and click "Change"
141
 
 
142
 
3. Push the migrated trunk to Launchpad.  See below if you want your
143
 
   new migrated development focus branch to have the same name as your old
144
 
   pre-migration development focus branch.
145
 
 
146
 
4. Set it as the development focus.  Follow the instructions above but at step
147
 
   5, enter the name of the newly migrated branch you just pushed.
 
113
3. Push the migrated trunk to Launchpad.
 
114
 
 
115
4. Set it as the development focus.
148
116
 
149
117
5. Ask users subscribed to the old trunk to subscribe to the new one.
150
118
 
156
124
You are now ready to tell your community that the new trunk is available
157
125
and to give them instructions on migrating any local branches they have.
158
126
 
159
 
If you want your new migrated development focus branch to have the same name
160
 
as your old pre-migration branch, you need to do a few extra things before you
161
 
establish the new development focus.
162
 
 
163
 
1. Rename your old pre-migration branch; use something like
164
 
   **foo-obsolete-do-not-use**.  You will really not want to delete this
165
 
   because there will be artifacts (bugs, merge proposals, etc.) associated
166
 
   with it.
167
 
 
168
 
2. Rename the new migrated branch to the pre-migration branch's old name.
169
 
 
170
 
3. Re-establish the development focus branch using the new migrated branch's
171
 
   new name (i.e. the old pre-migration branch's original name).
172
 
 
173
127
 
174
128
Migrating local branches after a central trunk has migrated
175
129
-----------------------------------------------------------