[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