Changes between Version 7 and Version 8 of ImprovingPractices
- Timestamp:
- Aug 22, 2007, 9:00:17 PM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ImprovingPractices
v7 v8 13 13 * Timely Boost releases on a predictable schedule, with no possibility that problems with a few libraries can delay a release of Boost as a whole. 14 14 15 * The latest [#Release-ready release-ready] Boost code available from the Subversion repository at all times, including both fixes and new libraries added subsequent to the last official release. Users of this version should not have to wait for a formal release, and should not have to run the risk of instability associated with purely developmental branches.15 * The next [#Release-ready release-ready] Boost code available from the Subversion repository at all times, including both fixes and new libraries added subsequent to the last official release. Users of this version should not have to wait for a formal release, and should not have to run the risk of instability associated with purely developmental branches. 16 16 17 17 * Release preparation does not require super-human effort by the release manager, developers, or testers. … … 64 64 Location for speculative/experimental/future work on an individual library or set of libraries. 65 65 66 The URL for development branches is [source:/branches/branch-name http://svn.boost.org/svn/boost/branches/branch-name]66 The URL for development branches is !http://svn.boost.org/svn/boost/branches/branch-name 67 67 68 ==== '' Release queue'' ====69 Locationwhere a library is merged by its developers when an update for the library is [#Release-ready release-ready].68 ==== ''Next'' ==== 69 The tree that will become the next release of Boost. This is where a library is merged by its developers when an update for the library is [#Release-ready release-ready]. 70 70 71 The URL for the release queue is http://svn.boost.org/svn/boost/release/queue71 The URL for next is http://svn.boost.org/svn/boost/release/next 72 72 73 73 ==== ''Release tags'' ==== 74 74 These are copies of the the Release tree made by the release manager, identifying the basis for generating tarballs and such. There are two forms; one for release candidates, another for final releases. 75 75 76 The URLs for release candidates are in the form [source:/release/RC_1_35_0_n http://svn.boost.org/svn/boost/release/RC_1_35_0_n]76 The URLs for release candidates are in the form !http://svn.boost.org/svn/boost/release/RC_1_35_0_n 77 77 78 The URLs for final releases are in the form [source:/release/1_35_0 http://svn.boost.org/svn/boost/release/1_35_0]78 The URLs for final releases are in the form !http://svn.boost.org/svn/boost/release/1_35_0 79 79 80 80 == Development Cycle == … … 82 82 Developers can ensure a [#Stable stable] development environment by checking out [source:/release http://svn.boost.org/svn/boost/release] as their working copy, and then [http://svnbook.red-bean.com/en/1.1/ch04s05.html switching] only the library they are working with to [source:/trunk http://svn.boost.org/svn/boost/trunk] or a library specific development branch. 83 83 84 === Merging from main trunk to release queue===84 === Merging from trunk to next === 85 85 86 When a library update is tested and stable on the trunk, and is fully [#Release-ready release-ready], it is merged by its developers into the release queue.86 When the next version of a library has been tested and is stable on the trunk, and is fully [#Release-ready release-ready], it is merged next by its developers. 87 87 88 88 Detailed procedure for developers: 89 89 90 * Verify that the library meets all release criteria. '''Important:''' Libraries must not be merged into the release queueuntil they are already known to be fully [#Release-ready release-ready].90 * Verify that the library meets all release criteria. '''Important:''' Libraries must not be merged into next until they are already known to be fully [#Release-ready release-ready]. 91 91 92 92 * TortoiseSVN: 93 * Start in a working copy of https://svn.boost.org/svn/boost/release/queue.93 * Start with a working copy of https://svn.boost.org/svn/boost/release/next. 94 94 * Select the directory and/or files to be merged. 95 95 * Right-click selection for context menu, and TortoiseSVN > Merge... 96 * From: https://svn.boost.org/svn/boost/release/ queue/...96 * From: https://svn.boost.org/svn/boost/release/next/... 97 97 * From: Head revision 98 98 * To: '''Uncheck''' the Use "From:" URL checkbox. … … 104 104 * Commit working copy changes. 105 105 106 * '''Watch test results closely; Revert if merge causes any problems whatsoever !'''106 * '''Watch test results closely; Revert if merge causes any problems whatsoever.''' 107 107 108 108 === Special case: Prerequisite libraries === … … 120 120 == Testing == 121 121 122 Both trunk and release queuetesting go on continuously, independent of when releases actually occur. Testers never have to change the repository URLs they test against.122 Both trunk and next testing go on continuously, independent of when releases actually occur. Testers never have to change the repository URLs they test against. 123 123 124 124 === Trunk testing === … … 126 126 The [#Maintrunk main trunk] is where most testing resources should be concentrated, since these tests are what tell developers that their library works on all tested platforms and tell the release management team that it is OK to merge a library into the release tree. 127 127 128 === Release queuetesting ===128 === Release next testing === 129 129 130 In theory, it should not be necessary to test the release queueat all, since everything merged into it should already be known to be [#Release-ready release-ready].130 In theory, it should not be necessary to test next at all, since everything merged into it should already be known to be [#Release-ready release-ready]. 131 131 132 In practice, the release criteria platform/compiler combinations at the minimum should be tested on the release queue. A single reliable test runner for each release criteria platform/compiler combination should be sufficient.132 In practice, the release criteria platform/compiler combinations at the minimum should be tested on next. A single reliable test runner for each release criteria platform/compiler combination should be sufficient. 133 133 134 134 == Acknowledgments ==