Masterminds / vert

Command line version testing: Compare versions at the CLI for use in shell scripts and make files.
Other
59 stars 6 forks source link

vert sort order is confusing, when input version have "-" & "+" symbols #9

Open tejaswiniVadlamudi opened 5 years ago

tejaswiniVadlamudi commented 5 years ago

Hi, I have below version of vert and go installed on my system:

ubuntu:~$ vert --version
vert version 0.1.0
ubuntu:~$ go version
go version go1.9.1 linux/amd64

When I tried the below case, I get output like:

ubuntu:~$ vert -s "^1.x" 1.1.0+98 1.1.0-98 1.2.0-23
1.1.0+98
ubuntu:~$ echo $?
2
ubuntu:~$ vert -f "^1.x" 1.1.0+98 1.1.0-98 1.2.0-23
1.1.0-98
1.2.0-23

I expected vert to return: 1.1.0-98 1.1.0+98 1.2.0-23

Somemore similar tests:

ubuntu:~$ vert -s 1.1.0+98 1.1.0-98 1.2.0-23
ubuntu:~$ echo $?
2
ubuntu:~$ vert -f 1.1.0+98 1.1.0-98 1.2.0-23
1.1.0-98
1.2.0-23
ubuntu:~$ vert -f "1.1.0+98" "1.1.0-98" "1.2.0-23"
1.1.0-98
1.2.0-23
ubuntu:~$ vert -s "1.1.0+98" "1.1.0-98" "1.2.0-23"
ubuntu:~$ echo $?
2

Is it a bug in vert tool or do I need to correct my view/assumption?

Please correct me if I am wrong anywhere.

Thanks, Teja

tejaswiniVadlamudi commented 5 years ago

A short update: I have semver (2.1.0) version installed on my host. Here is some interesting output:

@ubuntu:~$ semver -r  "^1.0" 1.1.0-97 1.2.0-23
1.1.0-97
1.2.0-23
@ubuntu:~$ semver -r  "^1.0" 1.1.0-97 1.2.0-23 1.0.0-100
1.0.0-100
1.1.0-97
1.2.0-23
@ubuntu:~$ semver -r  "^1.0" 1.1.0-97 1.2.0-23 1.0.0+100
1.0.0
1.1.0-97
1.2.0-23
@ubuntu:~$ semver -r  "^1.0" 1.1.0-97 1.1.0+97 1.2.0-23
1.1.0-97
1.1.0
1.2.0-23
@ubuntu:~$ semver -r  "^1.x" 1.1.0-97 1.1.0+97 1.2.0-23
1.1.0-97
1.1.0
1.2.0-23
@ubuntu:~$ semver -r  ">1.1" 1.1.0-97 1.1.0+97 1.2.0-23
1.2.0-23
@ubuntu:~$ semver -r  ">=1.1" 1.1.0-97 1.1.0+97 1.2.0-23
1.1.0-97
1.1.0
1.2.0-23
@ubuntu:~$ semver -r  "^1.1" 1.1.0+97 1.2.0-23
1.1.0
1.2.0-23

Looks like sort order from semver points 1.2.0-23 as latest.