[Tinyos Core WG] CVS best practices
Vlado Handziski
handzisk at tkn.tu-berlin.de
Wed Apr 11 09:24:09 PDT 2007
As promised during last teleconference, here is a list of suggested "best
practices" for the management of the tinyos-2.x CVS repo....
1. The main development of the project always occurs on the HEAD
2. After the code freeze for a given release, the HEAD branch must be
tagged with a tag in the form "rc_1_tinyos_2_x_x"
3. Any bugfixes during the release test process are to be directly
applied on the HEAD branch, and before each testing cycle, the branch has to
be re-tagged with "rc_N+1_tinyos_2_x_x"
4. When the code is ready for release, the HEAD branch is tagged
with "release_tinyos_2_x_x"
and a branch is created named "r_tinyos_2_x_x_patches"
5. Normal development continues on the HEAD branch, while the
"release_tinyos_2_x_x_patches"
branch is used for all bugfixes, extensions, etc. specific to this
particular release
6. When necessary, the changes on the "release_tinyos_2_x_x_patches" branch
can be merged back to the HEAD at a convenient moment:
1. Before the merge, the end of the "release_tinyos_2_x_x_patches" branch
has to be tagged with the tag
"fold_N_release_tinyos_2_x_x_patches"
2. The "release_tinyos_2_x_x_patches" branch is merged back to
HEAD
3. The HEAD branch has to be tagged using "
merged_N_release_tinyos_2_x_x_patches"
4. The process can be repeated as many times as necessary, each
time using N+1 in the tag names
Using the above scheme we can continue with the development on the HEAD
(including significant changes), while always having a separate, more
stable, per-release branch for small bugfixes and additions. The merging of
these changes back to the HEAD is made easy by consistently tagging both the
"source" and the "destination" branch before/after each merge. The naming
allows easy visualisation of the merge process using CVSGraph, i.e. we can
create graphs like this:
http://www.akhphd.au.dk/~bertho/cvsgraph/#example
Vlado
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.millennium.berkeley.edu/pipermail/tinyos-2.0wg/attachments/20070411/1242183f/attachment.html
More information about the Tinyos-2.0wg
mailing list