release_procedures.htm 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Language" content="en-us">
  4. <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
  5. <meta name="ProgId" content="FrontPage.Editor.Document">
  6. <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
  7. <title>Release Procedures</title>
  8. </head>
  9. <body bgcolor="#FFFFFF">
  10. <table border="1" bgcolor="#007F7F" cellpadding="2">
  11. <tr>
  12. <td bgcolor="#FFFFFF">
  13. <img src="../c++boost.gif" alt="c++boost.gif (8819 bytes)" width="277" height="86"></td>
  14. <td><a href="../index.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>Home</big></font></a></td>
  15. <td><a href="../libs/libraries.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>Libraries</big></font></a></td>
  16. <td><a href="../people/people.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>People</big></font></a></td>
  17. <td><a href="../more/faq.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>FAQ</big></font></a></td>
  18. <td><a href="../more/index.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>More</big></font></a></td>
  19. </tr>
  20. </table>
  21. <h1>Boost Release Procedures</h1>
  22. <p><a href="#Introduction">Introduction</a><br>
  23. <a href="#Overview">Procedure Overview</a><br>
  24. <a href="#Developers">Procedures for Developers</a><br>
  25. <a href="#Manager">Procedures for the Release Manager</a><br>
  26. <a href="#Acknowledgements">Acknowledgements</a></p>
  27. <h2><a name="Introduction">Introduction</a></h2>
  28. <p>Each release of Boost software is overseen by a release manager, who
  29. coordinates release activities via the Boost mailing list, as well as performing
  30. the detailed procedures for the release.</p>
  31. <p>Boost developers assist the release manager by reviewing regression test
  32. logs, and committing fixes to CVS.</p>
  33. <h2>Release Procedure <a name="Overview">Overview</a></h2>
  34. <ul>
  35. <li>Discussion on the main Boost mailing list to determine the target date for
  36. release candidate branch and tag of the CVS main trunk.<br>
  37. &nbsp;</li>
  38. <li>Release manager performs release candidate branch and tag.<br>
  39. &nbsp;</li>
  40. <li>Regression tests run on release candidate.<br>
  41. &nbsp;</li>
  42. <li>Developers commit fixes to the release candidate branch (and possibly
  43. merge into the main trunk - see below).<br>
  44. &nbsp;</li>
  45. <li>Repeat previous two steps until release manager is satisfied.<br>
  46. &nbsp;</li>
  47. <li>Release manager rolls out the actual release.</li>
  48. </ul>
  49. <h2>Release Procedures for <a name="Developers">Developers</a></h2>
  50. <ul>
  51. <li>As the release candidate branch date approaches (as announced on the main
  52. mailing list), bring the main trunk CVS files you are responsible for into a
  53. stable state.<br>
  54. &nbsp;</li>
  55. <li>If you know of changes in either your code or its dependencies, start
  56. checking regression test results to ensure your tests still pass.&nbsp; Don't
  57. necessarily wait for the initial release tagging.<br>
  58. &nbsp;</li>
  59. <li>After the release manager announces that the release candidate branch has
  60. occurred, check the latest regression test results to be sure
  61. your tests haven't broken.<br>
  62. &nbsp;</li>
  63. <li>Developers can continue working on main trunk code changes after
  64. the release candidate branch has occurred. There is no need to wait until the release
  65. itself.&nbsp;
  66. Modified files committed to CVS on the main trunk will not be included in the release unless the
  67. developer explicitly commits the changes to the release candidate branch.<br>
  68. &nbsp;</li>
  69. <li>To make a fix to the release candidate, the change must be committed to
  70. the release candidate branch rather than the main trunk.&nbsp; Here is a
  71. typical procedure (assuming the release candidate branch is named RC_1_26_2):</li>
  72. </ul>
  73. <blockquote>
  74. <ul>
  75. <li>Command Line CVS:</li>
  76. </ul>
  77. <blockquote>
  78. <pre>cvs update -r RC_1_26_2 [switch to the branch]
  79. [modify buggycode.hpp]
  80. cvs commit buggycode.hpp
  81. [repeat modify/commit as desired]
  82. [when ready for first merge]
  83. cvs update -A [switch to the trunk]
  84. cvs update -j RC_1_26_2 buggycode.hpp [merge changes to the trunk]
  85. [resolve any conflicts, make sure it builds, etc. etc.]
  86. cvs commit -m &quot;Merged from branch to trunk&quot; buggycode.hpp
  87. cvs update -r RC_1_26_2 buggycode.hpp [switch back to the branch]
  88. cvs tag RC_1_26_2_last_merge buggycode.hpp [keep track of the last merge
  89. point]
  90. [merge is complete]
  91. [modify buggycode.hpp]
  92. cvs commit buggycode.hpp
  93. [repeat modify/commit as desired]
  94. [when ready for second and subsequent merges]
  95. cvs update -A
  96. cvs update -j RC_1_26_2_last_merge -j RC_1_26_2 buggycode.hpp
  97. [resolve any conflicts, make sure it builds, etc. etc.]
  98. cvs commit -m &quot;Second merge from branch to trunk&quot; buggycode.hpp
  99. cvs update -r RC_1_26_2 buggycode.hpp
  100. cvs tag -F RC_1_26_2_last_merge buggycode.hpp [-F forces the tag to move; or
  101. create a new tag]
  102. [merge is complete]
  103. </pre>
  104. </blockquote>
  105. <ul>
  106. <li>WinCVS:</li>
  107. </ul>
  108. <blockquote>
  109. <p>Switch to branch: Select file(s), then Modify | Update selection... |
  110. Update settings | Sticky options | Retrieve rev/tag/branch: RC_1_26_2 | OK<br>
  111. <br>
  112. Edit files needing fixes.<br>
  113. <br>
  114. Commit changes: Modify | Commit... | Enter log message: ... | OK<br>
  115. <br>
  116. Switch back to main trunk: Modify | Update selection... | Update settings |
  117. Reset any sticky date/tag/-k options. | OK<br>
  118. <br>
  119. If changes should also be merged into main trunk:</p>
  120. <blockquote>
  121. <p>Merge changes from release candidate to main trunk: Modify | Update
  122. selection... | Merge options | Only the rev/tag: RC_!_26_2 | OK<br>
  123. <br>
  124. Commit merge results: Modify | Commit... | Enter log message: ... | OK</p>
  125. </blockquote>
  126. <p>Note that if a second or subsequent merge is required:</p>
  127. <blockquote>
  128. <p>Switch to branch: Select file(s), then Modify | Update selection... |
  129. Update settings | Sticky options | Retrieve rev/tag/branch: RC_1_26_2 | OK</p>
  130. <p>Tag to keep track of last merge point: Modify | Create tag on
  131. selection... | Enter tag name: RC_1_26_2_last_merge | Overwrite existing
  132. tags with same name | OK</p>
  133. <p>Edit files needing fixes.</p>
  134. <p>Commit changes: Modify | Commit... | Enter log message: ... | OK</p>
  135. <p>Switch back to main trunk: Modify | Update selection... | Update
  136. settings | Reset any sticky date/tag/-k options. | OK<br>
  137. <br>
  138. If changes should also be merged into main trunk:</p>
  139. <blockquote>
  140. <p>Merge changes from release candidate to main trunk: Modify | Update
  141. selection... | Merge options | [select] Plus with this rev/tag:
  142. RC_1_26_2 | [and above that, without selecting, enter ]Only the rev/tag:
  143. RC_1_26_2_last_merge | OK<br>
  144. <br>
  145. Commit merge results: Modify | Commit... | Enter log message: ... | OK</p>
  146. </blockquote>
  147. </blockquote>
  148. </blockquote>
  149. </blockquote>
  150. <h2>Release Procedures for the Release <a name="Manager">Manager</a></h2>
  151. <p>(To be supplied)</p>
  152. <h2><a name="Acknowledgements">Acknowledgements</a></h2>
  153. <p>This web page was written by Beman Dawes, with helpful suggestions from Dave
  154. Abrahams and Steve Robbins. Jim Hyslop contributed the detailed CVS procedures.</p>
  155. <hr>
  156. <p>Revised:
  157. <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->28 January, 2002<!--webbot bot="Timestamp" i-checksum="38454" endspan --></p>
  158. </body>
  159. </html>
粤ICP备19079148号