30
30
* **upgrade** - migrate data to a different format.
32
32
**reconcile** is rarely needed but it's good practice to run **check**
33
before runing **upgrade**.
33
before and after runing **upgrade**.
35
35
For detailed help on these commands, see the `Bazaar User Reference`_.
43
43
To enable a smooth transistion to the new format, you should:
45
45
1. Make one person responsible for migrating the trunk.
46
47
2. Test the migration of trunk works successfully.
47
3. Schedule a time for the trunk migration and notify your community.
49
This forward warning should be long enough for users to have time
49
3. Schedule a time for the trunk migration and notify your community
52
This advance warning should be long enough for users to have time
50
53
to upgrade Bazaar and any required plugins before the migration date.
52
55
For larger projects, allow some time for the migration itself.
64
67
Migrating a standalone branch
65
68
-----------------------------
74
2. If there are errors, try using **bzr reconcile** to fix them.
75
If that fails, file a bug so we can help you resolve the issue
76
and get your trunk clean. If it works, take a backup copy of
79
2. Run **bzr upgrade --format** where *format* is 2a or later.
81
3. Run **bzr check** to confirm the final result is good.
70
84
Migrating branches in a shared repository
76
90
2. Upgrade the branches.
77
91
3. Upgrade any lightweight checkouts.
93
As in the standalone branch case, be sure to run **check** before
94
and after the upgrade to check for any existing or introduced issues.
80
97
Migrating branches on Launchpad
81
98
-------------------------------
133
150
4. To migrate each local branch of interest, there are 2 options:
135
* *init* an empty branch in the new repository and *pull* the
136
revisions from the branch in the old repository across.
152
* **init** an empty branch in the new repository and **pull** the
153
revisions from the branch in the old repository across.
138
* In the new repository, *branch* from trunk to the new branch
139
name then *merge* your changes from the matching branch in the
155
* In the new repository, **branch** from trunk to the new branch
156
name then **merge** your changes from the matching branch in the
142
159
The first method will give you a branch which is identical (in terms
143
160
of revision history) to the old branch, but it's parent branch will
144
be set to the old branch, not your new trunk. The second approach
145
sets up the parent branch correctly but isn't ideal if you're not
146
ready to include all the latest revisions from trunk into that branch.
161
be set to the old branch, not your new trunk. If you use this method,
162
you'll probably want to edit your branch.conf file to update the
163
parent branch setting.
165
In contrast, the second approach sets up the parent branch correctly.
166
However, it isn't ideal if you're not ready to include all the latest
167
revisions from trunk into that branch yet.