I like the approach but would like suggest to another one that more human readable: D has 5 digits limit so we can fill then by rule XXXYY where XXX - days, YY - hours For instance: .Net/C++ build 01.01.2016 00:45 -> 00100 .Net/C++ build 31.12.2016 19:05 -> 36619
On Fri, Dec 18, 2015 at 11:42 AM, Vladimir Ozerov <[email protected]> wrote: > Folks, > > We have some versioning policies in Java. Normaly Java version looks like > "A.B.C.[suffix]", where [suffix] could potnetially be anything - "b", "p", > "rc", "ga", "final", etc. > > In .NET/CPP on Windows we have to follow standard versioning format > "A.B.C.D", where D is a value between 0 and 65536. The quesion is how to > map string suffix to some numerical value. > > I have an idea to rely on release date. E.g. > 1) Take year of the last major release as a starting point. > 2) Amount of hours spent from starting point is a value of D. Hours, not > years because several releases could potnetially happen in the same day. > > E.g.: > - Last major release was in 2015 > - Today is 12/18/2015 > - D = 24 * 340 /* days since 01/01/2015 */ + 6 /* hours */ = Ignite.NET > 1.5.0.8166. > > *Pros:* > - Newer versions always have bigger "D" component. GA will be greater than > beta, patch 2 will be greater than patch 1, etc.. > *Cons:* > - Version have to be updated just before release. > > Does anyone have concerns/thoughts about it? > > Vladimir. > -- Sergey Kozlov GridGain Systems www.gridgain.com
