1 ================= |
1 ================= |
2 Version format. |
2 Version format. |
3 ================= |
3 ================= |
4 .. contents:: |
4 .. contents:: |
|
5 |
|
6 Release build version data. |
|
7 =========================== |
|
8 |
|
9 * Build number. |
|
10 * Build date. |
|
11 * Build version. |
|
12 * Branch-tag used. |
|
13 * Overnight build (Y/N). |
|
14 * QA tested (Y/N). |
|
15 * QA test results (Pass/Fail). |
|
16 * Location of full logs. |
|
17 |
|
18 Order formula. |
|
19 ============== |
|
20 |
|
21 if (A.major != B.major) return A.major > B.major; |
|
22 if (A.minor != B.minor) return A.minor > B.minor; |
|
23 if (A.patch != B.patch) return A.patch > B.patch; |
|
24 if (A.special == B.special) return 0; |
|
25 if (A.special == "") return 1; |
|
26 if (B.special == "") return -1; |
|
27 return A.special > B.special; |
|
28 |
|
29 **NOTE** Accoding to this definition 1.0.1rc1 < 1.0.1rc10 < 1.0.1rc2 which is |
|
30 non meaningful. |
|
31 |
|
32 Compatibility formula. |
|
33 ====================== |
|
34 |
|
35 Assume that app linked with new version of lib. Thus:: |
|
36 |
|
37 is_compatible_with_old(old, new) { |
|
38 if (old.major != new.major) return 0; |
|
39 if (old.minor > new.minor) return 0; |
|
40 return 1; |
|
41 } |
|
42 |
|
43 Assume that app linked with old version of lib. Thus:: |
|
44 |
|
45 is_compatible_with_new(old, new) { |
|
46 if (old.major != new.major) return 0; |
|
47 return 1; |
|
48 } |
5 |
49 |
6 Reference. |
50 Reference. |
7 ========== |
51 ========== |
8 |
52 |
9 https://developer.mozilla.org/en/toolkit_version_format |
53 https://developer.mozilla.org/en/toolkit_version_format |
10 Toolkit version format |
54 Toolkit version format |
|
55 http://apr.apache.org/versioning.html |
|
56 APR's Version Numbering |
|
57 http://semver.org/ |
|
58 Semantic Versioning |
11 |
59 |