diff options
author | Max Magorsch <arzano@gentoo.org> | 2020-12-04 19:42:02 +0100 |
---|---|---|
committer | Max Magorsch <arzano@gentoo.org> | 2020-12-04 19:42:38 +0100 |
commit | 479ed91172fc56844068eb46ac8583a25a93feb6 (patch) | |
tree | 747c39bfd153781a88d930a0b1f0ee74f7f17ed1 | |
parent | Add a test case for the version comparison (diff) | |
download | soko-479ed91172fc56844068eb46ac8583a25a93feb6.tar.gz soko-479ed91172fc56844068eb46ac8583a25a93feb6.tar.bz2 soko-479ed91172fc56844068eb46ac8583a25a93feb6.zip |
Fix a special case of the version comparison
Signed-off-by: Max Magorsch <arzano@gentoo.org>
-rw-r--r-- | pkg/models/version.go | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/pkg/models/version.go b/pkg/models/version.go index 8dec423..eb40a59 100644 --- a/pkg/models/version.go +++ b/pkg/models/version.go @@ -3,6 +3,7 @@ package models import ( + "fmt" "math/big" "regexp" "strconv" @@ -53,6 +54,15 @@ func (v *Version) GreaterThan(other Version) bool { versionIdentifierA := v.computeVersionIdentifier() versionIdentifierB := other.computeVersionIdentifier() + if(v.Version == "0.7.8_p0-r100"){ + fmt.Println("versionIdentifierA") + fmt.Println(versionIdentifierA) + fmt.Println("versionIdentifierB") + fmt.Println(versionIdentifierB) + } + + + // compare the numeric part numericPartsA := strings.Split(versionIdentifierA.NumericPart, ".") numericPartsB := strings.Split(versionIdentifierB.NumericPart, ".") @@ -94,7 +104,9 @@ func (v *Version) GreaterThan(other Version) bool { // compare the suffixes for i := 0; i < min(len(versionIdentifierA.Suffixes), len(versionIdentifierB.Suffixes)); i++ { if versionIdentifierA.Suffixes[i].Name == versionIdentifierB.Suffixes[i].Name { - return versionIdentifierA.Suffixes[i].Number > versionIdentifierB.Suffixes[i].Number + if versionIdentifierA.Suffixes[i].Number != versionIdentifierB.Suffixes[i].Number { + return versionIdentifierA.Suffixes[i].Number > versionIdentifierB.Suffixes[i].Number + } } else { return getSuffixOrder(versionIdentifierA.Suffixes[i].Name) > getSuffixOrder(versionIdentifierB.Suffixes[i].Name) } |