but if we have 2.0.0-rc1+6.0.2-alpine it should be parsed to:
type Tag struct {
Major "2"
Minor "0"
MissingMinor false
Patch "0"
MissingPatch false
Suffix "rc1"
UsesV false
Metadata "6.0.2-alpine"
}
now we can parse tags such as
`1.3.1+5.9.6-alpine`
this will parse to
```
type Tag struct {
Major "1"
Minor "3"
MissingMinor false
Patch "1"
MissingPatch false
Suffix ""
UsesV false
Metadata "5.9.6-alpine"
}
```
it's parsed according to semver specification, so `-alpine` isn't split from the rest
```
<valid semver> ::= <version core>
| <version core> "-" <pre-release>
| <version core> "+" <build>
| <version core> "-" <pre-release> "+" <build>
```
but if we have `2.0.0-rc1+6.0.2-alpine` it should be parsed to:
```
type Tag struct {
Major "2"
Minor "0"
MissingMinor false
Patch "0"
MissingPatch false
Suffix "rc1"
UsesV false
Metadata "6.0.2-alpine"
}
```
Wonderful @knoflook! Would you mind writing a few test for this in the test_... file which should be handy since there are a bunch of examples. Handier to maintain this going forward 🙏
Wonderful @knoflook! Would you mind writing a few test for this in the `test_...` file which should be handy since there are a bunch of examples. Handier to maintain this going forward 🙏
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
now we can parse tags such as
1.3.1+5.9.6-alpinethis will parse to
it's parsed according to semver specification, so
-alpineisn't split from the restbut if we have
2.0.0-rc1+6.0.2-alpineit should be parsed to:Wonderful @knoflook! Would you mind writing a few test for this in the
test_...file which should be handy since there are a bunch of examples. Handier to maintain this going forward 🙏