Lustre versioning ================= 0.0.1 2/19/2002 0.0.2 3/14/2002 describe branches / stable tag 0.0.3 6/10/2002 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: v1_2_11_7 and referred to as: 1.2.11.7 encoded as: 0x01021107 Usage: ------ New numbers are used as follows: 1. major: - increased when major new functionality becomes available 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: - when developers feel it is time to exchange a named version What will run, what won't ? --------------------------- 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 according to the announcement. Moving tags ----------- The last stable release will be tagged: CVS tag "t_last_stable" The last operational development snapshot will be CVS tag "dstable" Branches -------- 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. See http://lustre.org/docs/branches.html for details on CVS branch usage.