Skip to content

"Spec" is missing information it eludes to. #2

Open
@smaillet

Description

@smaillet

The CSemVer "spec" is missing a lot of critical information to make it truly useful. In particular, the following are referenced in the spec but not actually defined there:

  1. Short form
    1. This form is mentioned and a few examples provided but not defined formally in the spec leaving users to guess at what it is expected to be.
    2. Examples alone are not enough and the one's given are actually contradictory.
      1. '1.0.0-b03-01' AND '5.0.0-r-04-13' are shown, but which is correct?
        1. Is the delimiter between the short name and number components required or not?
  2. Conversion of a CSemVer into an ordered version number
    1. It is suggested this is plausible, but no formal specification of HOW this is done is provided in the spec. One is left to figure it out by looking at the examples, or reverse engineer the "explore" site. Neither is a particularly great story for a spec.
  3. Conversion to a Windows style VERSION quad is not specified
    1. Again, no specification of how to compute such a thing is defined (it is suggested but frustratingly NOT defined in the spec)
    2. After futzing with the Explore site it was discovered that File version "Revision" numbers with an "odd" value are reserved for CI builds. Leading to an assumption that a FileVersion is a 64-bit unsigned value that is the ordered number shifted by 1 bit with the least significant bit then as either 0 (Not a CI build) or 1 (A CI Build), but again not specified.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions