Whamcloud - gitweb
b=20580
[fs/lustre-release.git] / lustre / doc / VERSIONING
1 Lustre versioning
2 =================
3
4 0.0.1  2/19/2002 <braam@clusterfs.com>
5 0.0.2  3/14/2002 <braam@clusterfs.com> describe branches / stable tag
6 0.0.3  6/10/2002 <braam@clusterfs.com> describe release mechanisms
7
8 This document describes versioning of source and binaries for Lustre.
9
10 Packages
11 ========
12
13 RPM's that you build should get 3 figure versions, CVS versions will
14 be 4 digits, and can correspond to test RPM's, and lead up to the
15 package version.  So let's plan on releasing
16
17 So you'd build 2 sets of test rpms this week:
18
19 1.6.8.91
20 1.6.8.92
21
22 we decide it's fine then and we release:
23
24 1.6.9
25
26 If there are critical hotfixes that need to be released to customers
27 (e.g. data corruption fixes) then point releases would be created:
28
29 1.6.9.{1,2,3,...}
30
31 We go on developing with
32
33 1.6.9.{91,92,93,94,...}
34
35 as test releases and then we release:
36
37 1.6.10
38
39 The 1.7 sequence would be an unstable sequence, like 2.5 for the kernel
40 is.  So we expect lots of 1.7.X releases leading up to a stable 1.8 (or
41 2.0) at the time of deployment.
42
43 CVS
44 ===
45
46 Versions will have 4 digits:
47                      major.minor.patch.test
48
49 Such versions will be tagged in CVS as:
50                      v1_6_9_97
51 and referred to as:
52                      1.6.9.97
53 encoded as:
54                      0x01060961
55
56 Usage:
57 ------
58
59 New numbers are used as follows:
60
61 1. major:
62  - increased when major new functionality becomes available
63 2. minor:
64  - even: for each new release with new functionality
65  - odd : when a new development cycle starts after a release
66 3. patch:
67  - when a development snapshot or release update becomes available
68  - all these are announced on lustre-{announce,devel}@lists.lustre.org
69 4. test:
70  - when developers feel it is time to exchange a named version
71
72 What will run, what won't ?
73 ---------------------------
74
75 1. If the test level is non-zero, i.e. there are 4 digits in the
76    version, no guarantees of any kind are made.
77
78 2. For three digit releases/tags the code should perform
79    according to the announcement.
80
81 Branches
82 --------
83
84 Any and all development must be done on branches, and can only merge to the
85 HEAD if _at_least_ tests/acceptance-small.sh and IOR with 5 SMP nodes and
86 2 clients/node with 1GB file/client pass without any errors or cleanup
87 problems.  Additional tests may be added in the future, so the tests in the
88 current CVS head must pass before a branch can be merged back to the trunk.
89
90 See http://lustre.org/docs/branches.html for details on CVS branch usage.