On Friday, 26 September 2014 at 08:37:12 UTC, tn wrote:
On Friday, 26 September 2014 at 06:29:21 UTC, Dragos Carp wrote:
Though you could use prerelease and/or build suffixes
(1.2.3-0w / 1.2.3+0w).
These are very close to what I would like to see.
Though, if I understand correctly, build suffix wouldn't work,
as for example 1.2.3+0w and 1.2.3+1w would be treated as equal:
"Build metadata SHOULD be ignored when determining version
precedence. Thus two versions that differ only in the build
metadata, have the same precedence." (semver.org)
I guess that prerelease suffixes would do the trick. The only
problem is conceptual: "A pre-release version indicates that
the version is unstable and might not satisfy the intended
compatibility requirements as denoted by its associated normal
version." (semver.org)
In semver library [1], the differences in build suffixes are a)
"right" ordered (defined sort order) and not equal, and b)
considered compatible.
a) SemVer("1.2.3+w.9") < SemVer("1.2.3+w.10")
SemVer("1.2.3+w.9") != SemVer("1.2.3+w.10")
b) SemVer("1.2.3+w.9").satisfies(SemVerRange("1.2.3"))
SemVer("1.2.3+w.10").satisfies(SemVerRange("1.2.3"))
SemVer("1.2.3+w.9").differAt(SemVer("1.0.0+w.10")) ==
VersionPart.BUILD
[1] http://code.dlang.org/packages/semver