CVS Policy

From GridSiteWiki

The CVS Policy for GridSite follows the usual Major.Minor.Patch versioning scheme, and roughly follows the numbering scheme policy used by the Linux kernel.

Changes to the Major Version involve a significant change to the APIs or design.

Changes to the Minor Version may involve additions to the API, or a reinterpretation of semantics of the previous API, and you should read the administrator or developer release notes before upgrading.

For even number stable releases (1.0.x, 1.2.x, ...) you should be able to upgrade to a new version of the same Minor Version (eg 1.2.1 -> 1.2.2) without modifying your configuration or code. These changes will principally be bugfixes (but may occasionally involve backwards compatible extensions to the APIs.) Our intention is to branch the code at 1.2.0, 1.4.0 etc and then only make changes to the even numbered branches which are bugfixes.

For odd number development releases (1.1.x, 1.3.x, ...) new APIs may be introduced, modified or removed within the same Minor Version. These releases are intended as preparation for the next stable Minor Version. These odd numbered releases are made by tagging the CVS HEAD branch.

The ViewCVS graphical tree (http://jra1mw.cvs.cern.ch/cgi-bin/jra1mw.cgi/org.gridsite.core/VERSION?graph=1) of VERSION in org.gridsite.core makes it easier to see the revisions and branches.

Creating a stable CVS branch

For example, to make a stable 1.2 branch, starting from 1.1.19 on the HEAD.

Edit VERSION, CHANGES and project/version.properties to version 1.2.0 then

$ cd $HOME/cvspro/org.gridsite.core [or wherever]
$ cvs commit -m 'Start 1.2' .
$ cvstag gridsite-core_R_1_2_0
$ cvs tag -b gridsite-core_branch_1_2

Edit VERSION, CHANGES, doc/index.html and project/version.properties to version 1.3.0 then

$ cvs commit -m 'Start 1.3' .

HEAD is now 1.3.0 and the 1.2 branch can be accessed for bugfixes with

$ mkdir $HOME/cvs_1_2
$ cd $HOME/cvs_1_2
$ cvs co -r gridsite-core_branch_1_2 org.gridsite.core
$ cd org.gridsite.core

You can then do your bugfixes and commit on the 1.2 branch with

$ cvs commit -m 'Important bug fixed' .

The Wikified Cederqvist (http://ximbiot.com/cvs/wiki/index.php?title=Cederqvist) has more about revisions and branches.