Whamcloud - gitweb
b=3031
[fs/lustre-release.git] / lustre / doc / VERSIONING
index 56a525b..839c746 100644 (file)
@@ -3,65 +3,89 @@ Lustre versioning
 
 0.0.1  2/19/2002 <braam@clusterfs.com>
 0.0.2  3/14/2002 <braam@clusterfs.com> describe branches / stable tag
+0.0.3  6/10/2002 <braam@clusterfs.com> describe release mechanisms
 
 This document describes versioning of source and binaries for Lustre.
 
+Packages
+========
+
+RPM's that you build should get 3 figure versions, CVS versions will
+be 4 digits, and can correspond to test RPM's, and lead up to the
+package version.  So let's plan on releasing
+
+So you'd build 2 sets of test rpms this week:
+
+0.0.9.1
+0.0.9.2
+
+we decide it's fine then and we release
+
+0.1.0
+
+We go on developing with
+
+0.1.0.{1,2,3,4,...}
+
+as test releases and then we release:
+
+0.1.1
+
+The 0.1 sequence is an unstable sequence, like 2.5 for the kernel is.
+So we expect lots of 0.1.X releases leading up to a stable 0.2 (or
+1.0) at the time of deployment.
+
 CVS
 ===
 
 Versions will have 4 digits:
                      major.minor.patch.test
 
-Such versions will be tagged in CVS as:  
+Such versions will be tagged in CVS as:
                      v1_2_11_7
 and referred to as:
                      1.2.11.7
 encoded as:
                      0x01021107
 
-Usage: 
+Usage:
 ------
 
-New numbers are used as follows: 
+New numbers are used as follows:
 
-1. major: 
+1. major:
  - increased when major new functionality becomes available
-2. minor: 
+2. minor:
  - even: for each new release with new functionality
  - odd : when a new development cycle starts after a release
 3. patch:
  - when a development snapshot or release update becomes available
  - all these are announced on lustre-devel@lists.sf.net
-4. test: 
+4. test:
  - when developers feel it is time to exchange a named version
 
-What will run, what won't ? 
+What will run, what won't ?
 ---------------------------
 
-1. If the test level is non-zero no guarantees of any kind are made. 
+1. If the test level is non-zero, i.e. there are 4 digits in the
+   version, no guarantees of any kind are made.
 
-2. For three digit releases/tags the code should perform 
+2. For three digit releases/tags the code should perform
    according to the announcement.
 
 Moving tags
 -----------
 
-The last stable release will be tagged:            CVS tag "stable"
+The last stable release will be tagged:            CVS tag "t_last_stable"
 The last operational development snapshot will be  CVS tag "dstable"
 
 Branches
 --------
 
-For even minor releases a branch tag will be created.  The branch tag
-will be of the form: 
-
-bmajor_minor
-
-Note that the CVS head is where development is going.  If developers
-use a branch they must eventually merge that back into the head.
-Typically this is done by importing changes into the branch and
-removing the sticky tags:
-
-cvs update -A
+Any and all development must be done on branches, and can only merge to the
+HEAD if _at_least_ tests/acceptance-small.sh and IOR with 5 SMP nodes and
+2 clients/node with 1GB file/client pass without any errors or cleanup
+problems.  Additional tests may be added in the future, so the tests in the
+current CVS head must pass before a branch can be merged back to the trunk.
 
-fixing any conflicts and then committing. 
\ No newline at end of file
+See http://lustre.org/docs/branches.html for details on CVS branch usage.