97
97
Migrating branches on Launchpad
98
98
-------------------------------
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.
100
108
To allow isolation between public and private branches, Launchpad
101
109
uses stacked branches rather than shared repositories as the core
102
110
technology for efficient branch storage. The process for migrating
103
111
to a new format for projects using Launchpad code hosting is therefore
104
112
different to migrating a personal or in-house project.
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.
106
123
Here are the steps to follow:
108
1. The nominated person grabs a copy of trunk and does the migration.
125
1. The nominated person grabs a copy of trunk and does the migration locally.
110
127
2. On Launchpad, unset the current trunk from being the development focus.
111
128
(This *must* be done or the following step won't work as expected.)
113
3. Push the migrated trunk to Launchpad.
115
4. Set it as the development focus.
130
1. Go to your project's home page on Launchpad
132
2. Look for "XXX is the current focus of development"
134
3. Click on the edit (pencil) icon
136
4. Click on "Change details" in the portlet on the right
138
5. Scroll down to where it says "Branch: (Optional)"
140
6. Blank out this input field and click "Change"
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.
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.
117
149
5. Ask users subscribed to the old trunk to subscribe to the new one.
124
156
You are now ready to tell your community that the new trunk is available
125
157
and to give them instructions on migrating any local branches they have.
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.
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
168
2. Rename the new migrated branch to the pre-migration branch's old name.
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).
128
174
Migrating local branches after a central trunk has migrated
129
175
-----------------------------------------------------------