aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Magorsch <arzano@gentoo.org>2020-12-04 19:42:02 +0100
committerMax Magorsch <arzano@gentoo.org>2020-12-04 19:42:38 +0100
commit479ed91172fc56844068eb46ac8583a25a93feb6 (patch)
tree747c39bfd153781a88d930a0b1f0ee74f7f17ed1
parentAdd a test case for the version comparison (diff)
downloadsoko-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.go14
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)
}