MCPcopy Create free account
hub / github.com/1Panel-dev/1Panel / ComparePanelVersion

Function ComparePanelVersion

agent/utils/common/common.go:77–112  ·  view source on GitHub ↗
(version1, version2 string)

Source from the content-addressed store, hash-verified

75}
76
77func ComparePanelVersion(version1, version2 string) bool {
78 if version1 == version2 {
79 return false
80 }
81 version1s := SplitStr(version1, ".", "-")
82 version2s := SplitStr(version2, ".", "-")
83
84 if len(version2s) > len(version1s) {
85 for i := 0; i < len(version2s)-len(version1s); i++ {
86 version1s = append(version1s, "0")
87 }
88 }
89 if len(version1s) > len(version2s) {
90 for i := 0; i < len(version1s)-len(version2s); i++ {
91 version2s = append(version2s, "0")
92 }
93 }
94
95 n := min(len(version1s), len(version2s))
96 for i := 0; i < n; i++ {
97 if version1s[i] == version2s[i] {
98 continue
99 } else {
100 v1, err1 := strconv.Atoi(version1s[i])
101 if err1 != nil {
102 return version1s[i] > version2s[i]
103 }
104 v2, err2 := strconv.Atoi(version2s[i])
105 if err2 != nil {
106 return version1s[i] > version2s[i]
107 }
108 return v1 > v2
109 }
110 }
111 return true
112}
113
114func extractNumbers(version string) []string {
115 var numbers []string

Callers

nothing calls this directly

Calls 2

minFunction · 0.85
SplitStrFunction · 0.70

Tested by

no test coverage detected