[squeak-dev] VersionNumber disallows zeros.
bert at freudenbergs.de
Thu Sep 21 13:40:37 UTC 2017
I dimly remember that. Didn't make sense then, doesn't now. Can we just fix
it? Existing code that avoids comparing these versions, or doesn't use ".0"
should not break.
- Bert -
On Thu, Sep 21, 2017 at 2:57 PM, Marcel Taeumel <marcel.taeumel at hpi.de>
> Here is a discussion about this topic from 2008:
> It includes an explanation from Stephen Pair, who wrote the code:
> Am 21.09.2017 14:38:21 schrieb Bert Freudenberg <bert at freudenbergs.de>:
> That sounds nonsensical. 4.1 should be larger than 3.1, and smaller than
> 4.1.0. Direct comparison is strictly for listing versions in ascending
> order, and as Jakob wrote, you need a more complex scheme for other
> - Bert -
> On Thu, Sep 21, 2017 at 10:47 AM, Marcel Taeumel <marcel.taeumel at hpi.de>
>> If you cannot compare two versions, an error will be raised.
>> Am 21.09.2017 10:26:34 schrieb Jakob Reschke <
>> jakob.reschke at student.hpi.de>:
>> What is the current behavior if two branched version numbers are
>> compared? true, false, error?
>> I would say they are not comparable anyway. What do you want to know?
>> "Can I upgrade to get an increment?" "Can I upgrade without breaking some
>> API?" "Which is newer?" All of these cannot be answered without additional
>> information about the versioning scheme (e.g., in SemVer you could answer
>> the first two queries, but not the third without an additional timestamp).
>> And these queries should have their own messages instead of a
>> general-purpose comparison.
>> Kind regards,
>> Am 21.09.2017 08:44 schrieb "Taeumel, Marcel" <Marcel.Taeumel at hpi.de>:
>>> Hi Tobias,
>>> I see several issues with the current implementation of VersionNumber. :)
>>> - You cannot compare 4.1 to 3.1 because such branches are treated
>>> - You cannot even compare 4.1.1 to 4.2.1 for the same reason. But you
>>> can compare 4.1 to 4.2 though.
>>> This logic might be the reason to throw out the zero all together: 4.1
>>> and 4.1.0 are not so different, yet the first will be comparable but the
>>> second will not. That "branch logic" seems to be the key. Try changing
>>> #initializeNumbers: to accept zero and then play around with the comparison
>>> It's kind of weird or at least incomprehensible. I cannot find useful
>>> comments either.
>>> Am 20.09.2017 20:34:36 schrieb Tobias Pape <das.linux at gmx.de>:
>>> what's the rationale of VersionNumber prohibiting zeros in any of the
>>> version parts?
>>> Eg, 4.0.3 is not a valid VersionNumber currently.
>>> Best regards
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Squeak-dev