-
Notifications
You must be signed in to change notification settings - Fork 151
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PreRelease comparison bug? #61
Comments
I'd be willing to create a PR maybe if this is a problem. |
vsimon
pushed a commit
to vsimon/go-version
that referenced
this issue
Sep 11, 2019
Reference: hashicorp#61 This fixes a bug when comparing non-numeric prereleases of different set sizes. Makes it so that X.Y-alpha is considered smaller than X.Y-alpha.beta because a larger set of pre-release fields should have a higher precedence than a smaller set if all of the preceding identifiers are equal. When considering prerelease parts that are empty, use the other to decide regardless if it is numeric or not. If our self part is empty then the other part must be the larger set. If the other part is empty then the self part must be the larger set. Also fix and add a few additional test cases.
vsimon
pushed a commit
to vsimon/go-version
that referenced
this issue
Oct 4, 2019
Reference: hashicorp#61 This fixes a bug when comparing non-numeric prereleases of different set sizes. Makes it so that X.Y-alpha is considered smaller than X.Y-alpha.beta because a larger set of pre-release fields should have a higher precedence than a smaller set if all of the preceding identifiers are equal. When considering prerelease parts that are empty, use the other to decide regardless if it is numeric or not. If our self part is empty then the other part must be the larger set. If the other part is empty then the self part must be the larger set. Also fix and add a few additional test cases.
vsimon
pushed a commit
to vsimon/go-version
that referenced
this issue
Oct 8, 2019
Reference: hashicorp#61 This fixes a bug when comparing non-numeric prereleases of different set sizes. Makes it so that X.Y-alpha is considered smaller than X.Y-alpha.beta because a larger set of pre-release fields should have a higher precedence than a smaller set if all of the preceding identifiers are equal. When considering prerelease parts that are empty, use the other to decide regardless if it is numeric or not. If our self part is empty then the other part must be the larger set. If the other part is empty then the self part must be the larger set. Also fix and add a few additional test cases.
vsimon
pushed a commit
to vsimon/go-version
that referenced
this issue
Oct 8, 2019
Reference: hashicorp#61 This fixes a bug when comparing non-numeric prereleases of different set sizes. Makes it so that X.Y-alpha is considered smaller than X.Y-alpha.beta because a larger set of pre-release fields should have a higher precedence than a smaller set if all of the preceding identifiers are equal. When considering prerelease parts that are empty, use the other to decide regardless if it is numeric or not. If our self part is empty then the other part must be the larger set. If the other part is empty then the self part must be the larger set. Also fix and add a few additional test cases.
vsimon
pushed a commit
to vsimon/go-version
that referenced
this issue
Oct 8, 2019
Reference: hashicorp#61 This fixes a bug when comparing non-numeric prereleases of different set sizes. Makes it so that X.Y-alpha is considered smaller than X.Y-alpha.beta because a larger set of pre-release fields should have a higher precedence than a smaller set if all of the preceding identifiers are equal. When considering prerelease parts that are empty, use the other to decide regardless if it is numeric or not. If our self part is empty then the other part must be the larger set. If the other part is empty then the self part must be the larger set. Also fix and add a few additional test cases.
vsimon
pushed a commit
to vsimon/go-version
that referenced
this issue
Oct 8, 2019
Reference: hashicorp#61 This fixes a bug when comparing non-numeric prereleases of different set sizes. Makes it so that X.Y-alpha is considered smaller than X.Y-alpha.beta because a larger set of pre-release fields should have a higher precedence than a smaller set if all of the preceding identifiers are equal. Source: https://semver.org/#spec-item-11 When considering prerelease parts that are empty, use the other to decide regardless if it is numeric or not. If our self part is empty then the other part must be the larger set. If the other part is empty then the self part must be the larger set. Also fix and add a round out some additional test cases.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
In looking at the ComparePreReleases test cases...
I'm noticing that
5.4-alpha
is larger (has a higher precedence) than5.4-alpha.beta
. However when reading over the precedence rules of pre-releases in semver (https://semver.org/#spec-item-11)In this test case, all the preceding identifiers are equal - "5.4" - and the larger set "alpha.beta" has a lower precedence than the smaller set "alpha". Shouldn't it have a higher precedence?
The text was updated successfully, but these errors were encountered: