Verona spec:: $BUILD
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Fri Aug 21 13:22:39 UTC 2015
On 2015-08-21 06:34, Iris Clark wrote:
> Hi.
>
> For $BUILD, we needed to add '0' as a legitimate value to act as a sentinel.
>
> Because we consider builds to be version numbers for releases under development, we must alter the spec to consider $BUILD when comparing version strings, even though it violates the semver.org definition. Thus, we needed to clearly specify how comparison will be handled for 0, non-zero, null values.
>
> The following spec changes should address both of these issues:
>
> 156c156
> < - <a name="descBUILD"/> `$BUILD`, matching `([1-9][0-9]*)` --- The
> ---
>> - <a name="descBUILD"/> `$BUILD`, matching `(0|[1-9][0-9]*)` --- The
> 160,161c160,163
> < When comparing two version strings the value of `$BUILD`, if present,
> < is always ignored.
> ---
>> When comparing two version strings with equal `$VNUM` and `$PRE`
>> components, a string without a `$BUILD` component is always less than
>> one with a `$BUILD` component; otherwise, `$BUILD` numbers are
>> compared numerically.
> Please let me know if there are any concerns.
Iris,
As I have privately written to you about before, I do have concerns
about having a separation between a version string with a build number
"0" and a version string without a build number.
The current implementation in verona/stage does not handle builds
without a build number. Since build number is stored as an integer value
in multiple places in native code, changing the implementation to allow
for a distinction between "build 0" and "no build number" require
substantial changes, for what I believe is little gain.
I recommend dropping "build 0" as a valid build number, and instead
treating "build 0" as "having no build number".
/Magnus
More information about the verona-dev
mailing list