34 | | Once people agree that a new release branch should be made, the Release Manager creates it with the following procedure (substitute A.B with the version you are preparing): |
35 | | |
| 34 | Once people agree that a new release branch should be made, the |
| 35 | Release Manager creates it with the following procedure (substitute |
| 36 | A.B with the version you are preparing): |
| 37 | |
| 38 | 1. Mark the new minor series in `NEWS` |
| 39 | {{{ |
| 40 | See the end for copyrights and conditions. |
| 41 | |
| 42 | +svndigest A.B.x series from |
| 43 | + http://dev.thep/lu.se/svndigest/svn/branches/A.B-stable |
| 44 | + |
| 45 | Version A.B (released NOT YET) |
| 46 | }}} |
| 47 | commit the changes with `svn ci -m "preparing branch A.B-stable"`[[br]][[br]] |
38 | | make && make check |
39 | | ./bin/svndigest --copyright --no-report -v |
40 | | }}} |
41 | | Examine the updates and commit changes with `svn ci -m "updating copyright statements"`[[br]][[br]] |
42 | | 2. Create a new release branch using a one liner like |
| 50 | make check && ./bin/svndigest --copyright --no-report -v |
| 51 | }}} |
| 52 | Examine the updates and commit changes with `svn ci -m "updating |
| 53 | copyright statements"`[[br]][[br]] |
| 54 | 1. Make a copy of trunk WC including svndigest cache |
| 55 | {{{ |
| 56 | cp /path/to/svndigest-trunk /path/to/svndigest-A.B.x |
| 57 | }}} |
| 58 | 1. Create a new minor branch using a one liner like |
114 | | -m "Tagging version A.B" |
115 | | }}} |
116 | | 1. Update the version list in Trac using the |
117 | | [http://dev.thep.lu.se/svndigest/admin/ticket/versions trac-admin tool]. |
118 | | Remember to set the date [[br]][[br]] |
| 130 | -m "tagging version A.B" |
| 131 | }}} |
| 132 | 1. Prepare the minor branch for the first patch release [[br]][[br]] |
| 133 | i. Update version number in `version.m4`. Locate and change the |
| 134 | below line |
| 135 | {{{ |
| 136 | m4_define([PATCH_VERSION], [1]) |
| 137 | m4_define([SVNDIGEST_DEV_BUILD], [true]) |
| 138 | }}} |
| 139 | i. Add an entry in `NEWS` |
| 140 | {{{ |
| 141 | version A.B.1 (released NOT YET) |
| 142 | }}} |
| 143 | The date is set when version A.B.1 is released. [[br]][[br]] |
| 144 | i. Commit changes to the repository, |
| 145 | `svn ci -m "Bumping version"` [[br]][[br]] |
| 146 | 1. Upload `svndigest-A.B.tar.gz` and md5 file to DownloadPage |
141 | | i. In section '''svndigest ''devel'' ''' update link to `[milestone:"svndigest A.B+1" A.B+1]`.[[br]][[br]] |
142 | | i. On WikiStart update links `[source:tags/A.B/doc/readme.txt Manual]`, `[source:tags/A.B/NEWS NEWS]`, `[source:tags/A.B/README README]`, and also make sure that list of features is up to date.[[br]][[br]] |
| 169 | i. In section '''svndigest ''devel'' ''' update link to |
| 170 | `[milestone:"svndigest A.B+1" A.B+1]`.[[br]][[br]] |
| 171 | i. On WikiStart update links `[source:tags/A.B/doc/readme.txt |
| 172 | Manual]`, `[source:tags/A.B/NEWS NEWS]`, `[source:tags/A.B/README |
| 173 | README]`, and also make sure that list of features is up to |
| 174 | date.[[br]][[br]] |
| 175 | 1. Update the version list in Trac using the |
| 176 | [http://dev.thep.lu.se/svndigest/admin/ticket/versions trac-admin tool]. |
| 177 | Remember to set the date [[br]][[br]] |
| 178 | |
| 179 | 1. Close the [http://dev.thep.lu.se/svndigest/roadmap milestone] |
| 180 | associated with the release and replace `head` with appropriate |
| 181 | revision. Add a new milestone as needed (with log link). |
| 182 | |
145 | | the Merge Master. [[br]][[br]] |
146 | | i. Checkout a pristine version of the trunk. |
147 | | {{{ |
148 | | svn checkout http://dev.thep.lu.se/svndigest/svn/trunk trunk_merge |
149 | | }}} |
150 | | i. Merge changes in release branch since the fork into the trunk |
151 | | {{{ |
152 | | cd trunk_merge |
153 | | svn merge http://dev.thep.lu.se/svndigest/svn/branches/A.B-stable@[fork] \ |
154 | | http://dev.thep.lu.se/svndigest/svn/branches/A.B-stable |
155 | | }}} |
156 | | i. Resolve all conflicts. Run tests and perform all other |
157 | | appropriate tests to make sure that the merge does not create |
158 | | havoc. [[br]][[br]] |
159 | | i. Commit changes to the trunk branch. |
160 | | {{{ |
161 | | svn commit -m "Merged branch A.B-stable to the trunk. Delta A.B - A.B@[fork]" |
162 | | }}} |
163 | | 1. Prepare the minor branch for the first patch release [[br]][[br]] |
164 | | i. Go to release branch directory |
165 | | {{{ |
166 | | cd path/to/svndigest-stable-branch/ |
167 | | }}} |
168 | | i. Update version number in `version.m4`. Locate and change the |
169 | | below line |
170 | | {{{ |
171 | | m4_define([PATCH_VERSION], [1]) |
172 | | m4_define([SVNDIGEST_DEV_BUILD], [true]) |
173 | | }}} |
174 | | i. Add an entry in `NEWS` |
175 | | {{{ |
176 | | version A.B.1 (released DATE) |
177 | | }}} |
178 | | The date is set when version A.B.1 is released. [[br]][[br]] |
179 | | i. Commit changes to the repository, |
180 | | `svn ci -m "Changes for future release A.B.1"` [[br]][[br]] |
181 | | 1. Close the [http://dev.thep.lu.se/svndigest/roadmap milestone] |
182 | | associated with the release and replace `head` with appropriate revision. Add a new milestone as needed (with log link). |
183 | | |
| 185 | the ''Merge Master''. [[br]][[br]] |
| 186 | i. Go to a pristine trunk WC. |
| 187 | {{{ |
| 188 | cd /path/to/svndigest-trunk |
| 189 | svn update |
| 190 | svn diff |
| 191 | }}} |
| 192 | i. Merge changes into trunk WC. |
| 193 | {{{ |
| 194 | svn merge http://dev.thep.lu.se/svndigest/svn/branches/A.B-stable@fork_revision \ |
| 195 | http://dev.thep.lu.se/svndigest/svn/tags/A.B |
| 196 | }}} |
| 197 | i. Resolve all conflicts. Run tests and perform all other |
| 198 | appropriate tests to make sure that the merge does not create |
| 199 | havoc. Typically changes in `m4/version.m4` are problematic |
| 200 | so check this file extra carefully.[[br]][[br]] |
| 201 | i. Commit changes to the trunk branch. |
| 202 | {{{ |
| 203 | svn commit -m "Merged release A.B to the trunk. Delta A.B - A.B@fork_revision" |
| 204 | }}} |
217 | | Remove all unversioned files using |
218 | | {{{ |
219 | | svn-clean |
220 | | }}} |
221 | | Check that remove was complete and that wc is up to date |
222 | | {{{ |
223 | | svn status -u |
224 | | }}} |
225 | | which should display nothing. Build and test the package |
226 | | {{{ |
227 | | ./bootstrap && ./configure && make && make check && make distcheck |
228 | | }}} |
229 | | If everything is ok, attach the new package to the DownloadPage, else start over.[[br]][[br]] |
230 | | 1. Create a tag using a one liner like |
| 237 | Run |
| 238 | {{{ |
| 239 | make |
| 240 | make release |
| 241 | }}} |
| 242 | Fix potential problems[[br]][[br]] |
| 243 | 1. Check that you are synchronized with repository |
| 244 | {{{ |
| 245 | svn status -qu |
| 246 | }}} |
| 247 | and then create a tag |
233 | | http://dev.thep.lu.se/svndigest/svn/tags/A.B.C \ |
234 | | -m "Tagging version A.B.C" |
235 | | }}} |
236 | | 1. Update the version list in Trac using the |
237 | | [http://dev.thep.lu.se/svndigest/admin/ticket/versions trac-admin tool]. |
238 | | Remember to set the date [[br]][[br]] |
| 250 | http://dev.thep.lu.se/svndigest/svn/tags/A.B.C \ |
| 251 | -m "tagging version A.B.C" |
| 252 | }}} |
| 253 | 1. Prepare the minor branch for the next patch release [[br]][[br]] |
| 254 | i. Update version number in `configure.ac`. Locate and change the |
| 255 | below line |
| 256 | {{{ |
| 257 | m4_define([PATCH_VERSION], [C+1]) |
| 258 | m4_define([SVNDIGEST_DEV_BUILD], [true]) |
| 259 | }}} |
| 260 | i. Add an entry in `NEWS` |
| 261 | {{{ |
| 262 | version A.B.[C+1] (released DATE) |
| 263 | }}} |
| 264 | The date is set when version A.B.[C+1] is released. [[br]][[br]] |
| 265 | i. Commit changes to the repository, |
| 266 | `svn ci -m "Changes for future release A.B.[C+1]"` [[br]][[br]] |
| 267 | 1. Upload `svndigest-A.B.C.tar.gz` and md5 file to DownloadPage [[br]][[br]] |
255 | | i. On WikiStart update reference to explicit latest version number, and links `[source:tags/A.B/doc/readme.txt Manual]`, `[source:tags/A.B/NEWS NEWS]`, and `[source:tags/A.B/INSTALL Install]`.[[br]][[br]] |
| 284 | i. On WikiStart update reference to explicit latest version number, |
| 285 | and links `[source:tags/A.B.C/doc/readme.txt Manual]`, |
| 286 | `[source:tags/A.B.C/NEWS NEWS]`, and `[source:tags/A.B.C/README |
| 287 | README]`.[[br]][[br]] |
| 288 | 1. Close the milestone associated with the release and replace |
| 289 | `head` with appropriate revision in log link. Add a new milestone |
| 290 | as needed (with a log link). |
| 291 | 1. Update the version list in Trac using the |
| 292 | [http://dev.thep.lu.se/svndigest/admin/ticket/versions trac-admin tool]. |
| 293 | Remember to set the date [[br]][[br]] |
278 | | 1. Prepare the minor branch for the next patch release [[br]][[br]] |
279 | | i. Update version number in `configure.ac`. Locate and change the |
280 | | below line |
281 | | {{{ |
282 | | m4_define([PATCH_VERSION], [C+1]) |
283 | | m4_define([SVNDIGEST_DEV_BUILD], [true]) |
284 | | }}} |
285 | | i. Add an entry in `NEWS` |
286 | | {{{ |
287 | | version A.B.[C+1] (released DATE) |
288 | | }}} |
289 | | The date is set when version A.B.[C+1] is released. [[br]][[br]] |
290 | | i. Commit changes to the repository, |
291 | | `svn ci -m "Changes for future release A.B.[C+1]"` [[br]][[br]] |
292 | | 1. Close the milestone associated with the release and replace `head` with appropriate revision in log link. Add a new |
293 | | milestone as needed (with a log link). |