Procedures for Developers
Procedures for the Release Manager
Each release of Boost software is overseen by a release manager, who coordinates release activities via the Boost mailing list, as well as performing the detailed procedures for the release.
Boost developers assist the release manager by reviewing regression test logs, and committing fixes to CVS.
- Command Line CVS:
- Fixed code is committed to main branch
- Switch to the release candidate branch
cvs update -r RC_1_26_2
- Merge changes in a trunk since previous merge to branchcvs update -jmerged_to_RC_1_26_2 -jHEAD buggycode.hpp --> RCS file: /cvsroot/boost/.../buggycode.hpp,v --> retrieving revision 1.4 --> retrieving revision 1.6 --> Merging differences between 1.4 and 1.6 into buggycode.hpp
- Commit merged branchcvs commit -m "Merged fix for problem xyz from trunk to branch" buggycode.hpp
- Go back to main trunkcvs update -A
- Move tag to a new merged pointcvs tag -F -c merged_to_RC_1_28_2 buggycode.hpp
- Repeat as needed
- After fixed code is committed to main branch, switch to the release candidate branch:
Select file(s) if not already selected.
Modify | Update selection... | Update settings | Sticky options | Retrieve rev/tag/branch:
- Merge changes from main trunk into the release candidate branch:
Modify | Update selection... | Update settings | Merge options | Only this rev/tag:
merged_to_RC_1_26_2| Plus with this rev/tag:
- Commit merge results:
Modify | Commit... | Enter log message: ... | OK
- Go back to main trunk:
Modify | Update selection... | Update settings | Reset any sticky date/tag/-k options | OK
- Tag as new merge point:
Modify | Create tag on selection... | Create tag settings | Enter the tag name to create:
merged_to_RC_1_26_2, Overwrite existing tags with same name | OK.
At time of branch-for-release:
See Release Manager's Checklist for full details.
What is the purpose of the merged_to_RC_n_n_n tag? This tag allows multiple merges from the main trunk to the release candidate branch. Without it, merging an initial main trunk fix into the release candidate branch would work, but merging a second fix from main trunk to release candidate branch would result in a merge conflict. Although this procedure seems convoluted, it works much better in practice than several prior procedures we tried.
This web page was written by Beman Dawes, with helpful suggestions from Dave Abrahams and Steve Robbins. Jim Hyslop contributed the original CVS procedures. Updated by Jeff Garland after 1.29 release based on list discussions.
Revised: 02 October, 2003
© Copyright Beman Dawes 2002
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)