# Ports with version numbers going backwards: devel/ode

Oliver Eikemeier eikemeier at fillmore-labs.com
Mon Jun 28 10:00:44 PDT 2004

```Erik Trulsson wrote:
> On Mon, Jun 28, 2004 at 05:25:16PM +0200, Oliver Eikemeier wrote:
>> Sergey Matveychuk wrote:
>>
>>> I meant we can treat leading zeros as decreasing factor.
>>> So, x.001 < x.002 < x.01 < x.02 < x.1 < x.2 < x.10 < x.20
>>> In other words - zeros never can dropped except there are only zeros
>>> in
>>> the number i.e. X = X.0 = X.00 = X.000 etc.
>>>
>>> We can look on a version number part with leading zeros as on a number
>>> with an implicit dot: 001 -> 0.01, 02 -> 0.2 etc. So comparing will
>>> not
>>> be a problem.
>>
>> As far as I understand your proposal this will give us
>>
>>   0.005 < 0.05 < 0.039 < 0.050 < 0.5 < 0.39 < 0.50 < 0.390 < 0.500
>
> I understand his proposal rather as giving
>
> 0.005 < 0.039 < 0.05 = 0.050 < 0.5 < 0.39 < 050 < 0.390 < 0.500
>
> I.e. IF (but only if) a part of the version number starts with a zero
> the whole is just treated as a decimal number, unlike the current
> scheme where we always treat it as two integers separated by a dot (and
> leading zeros in a version number part are thus irrelevant currently.)

So
1.005.04b03.7 -> 1 . (0.05) . (0.4) b (0.3) . 7
and
02b05 -> (0.2) b (0.5),
so that
020.5 < 10.3?

> I don't know which scheme is best.  The current one has the advantage
> that it is simple and easy to describe, but it can give surprising
> results if you think of the version number as an actual *number*.

You shouldn't think of `4.6.2' as a "number". Anyway, it's a nifty idea,
but I'm not sure if it's worth the effort. Btw, the current scheme is
not simple and easy to describe.

-Oliver

```