Changes between Version 6 and Version 7 of ImprovingPractices


Ignore:
Timestamp:
Aug 22, 2007, 3:34:26 PM (15 years ago)
Author:
Beman Dawes
Comment:

More details for procedures, refine repository names

Legend:

Unmodified
Added
Removed
Modified
  • ImprovingPractices

    v6 v7  
    5252== Repository Organization ==
    5353
    54  ==== ''Release tree'' ====
    55  [#Release-ready release-ready] tree to which libraries are copied after release-ready. ''We may decide to make this tree read-only except for the release management team.''
    56 
    57  The URL for the release tree is [source:/release http://svn.boost.org/svn/boost/release]
    58 
    59  ==== ''Release tags'' ====
    60  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.
    61 
    62  The URLs for release candidates are in the form [source:/release/Version_1_35_0_RC1 http://svn.boost.org/svn/boost/release/Version_1_35_0_RC1]
    63 
    64  The URLs for final releases are in the form [source:/release/Version_1_35_0 http://svn.boost.org/svn/boost/release/Version_1_35_0]
    65 
    6654 ==== ''Main trunk'' ====
    6755 The main development and test location.
     
    7866 The URL for development branches is [source:/branches/branch-name http://svn.boost.org/svn/boost/branches/branch-name]
    7967
     68 ==== ''Release queue'' ====
     69 Location where a library is merged by its developers when an update for the library is [#Release-ready release-ready].
     70
     71 The URL for the release queue is http://svn.boost.org/svn/boost/release/queue
     72
     73 ==== ''Release tags'' ====
     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
     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]
     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]
     79
    8080== Development Cycle ==
    8181
    8282Developers 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.
    8383
    84 === Copying from main trunk to release tree ===
     84=== Merging from main trunk to release queue ===
    8585
    86 Only when a library update is tested and stable on trunk, and is fully [#Release-ready release-ready], is it copied into the [#Release-tree release tree]. (This copy operation is performing what in CVS would be called tagging.)
     86When 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.
    8787
    88 ''Details of when copies into the release tree are acceptable and who actually does the copy are yet to be worked out. One possibility is to allow any developer to copy into the release tree at any time except immediately before a release.''
     88Detailed procedure for developers:
     89
     90 * Verify that the library meets all release criteria. '''Important:''' Libraries must not be merged into the release queue until they are already known to be fully [#Release-ready release-ready].
     91
     92 * TortoiseSVN:
     93   * Start in a working copy of https://svn.boost.org/svn/boost/release/queue.
     94   * Select the directory and/or files to be merged.
     95   * Right-click selection for context menu, and TortoiseSVN > Merge...
     96     * From: https://svn.boost.org/svn/boost/release/queue/...
     97     * From: Head revision
     98     * To: '''Uncheck''' the Use "From:" URL checkbox.
     99     * To: https://svn.boost.org/svn/boost/trunk/...
     100     * To: Head revision
     101     * Click "Dry run" button to be sure setup is correct.
     102     * Click "Merge". (Note that this modifies your working copy, not the repository.)
     103   * Inspect resulting working copy for correctness.
     104   * Commit working copy changes.
     105
     106 * '''Watch test results closely; Revert if merge causes any problems whatsoever!'''
    89107
    90108=== Special case: Prerequisite libraries ===
     
    102120== Testing ==
    103121
    104 Both trunk and release testing go on continuously, independent of when releases actually occur. Testers never have to change the repository URLs they test against.
     122Both trunk and release queue testing go on continuously, independent of when releases actually occur. Testers never have to change the repository URLs they test against.
    105123
    106124=== Trunk testing ===
     
    108126The [#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.
    109127
    110 === Release testing ===
     128=== Release queue testing ===
    111129
    112 In theory, it should not be necessary to test the [#Releasetree release tree] at all, since everything merged into it should already be known to be [#Release-ready release-ready].
     130In theory, it should not be necessary to test the release queue at all, since everything merged into it should already be known to be [#Release-ready release-ready].
    113131
    114 In practice, the release criteria platform/compiler combinations at the minimum should be tested on the release tree. A single reliable test runner for each release criteria platform/compiler combination should be sufficient.
     132In 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.
    115133
    116134== Acknowledgments ==