summaryrefslogtreecommitdiff
path: root/internal/release/release.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-05-29 17:14:38 +0300
committerPaul Buetow <paul@buetow.org>2026-05-29 17:14:38 +0300
commite344b94d455712d9e753ef235bc6ff0e76fd91f2 (patch)
tree993268290262595107441b2a303e7797674d3e8c /internal/release/release.go
parentb076c5e2ac5403de28c5d0ba44fddf216f3034ce (diff)
fix(vq): restore version-prefix parsing and stash no-op handling
Diffstat (limited to 'internal/release/release.go')
-rw-r--r--internal/release/release.go17
1 files changed, 15 insertions, 2 deletions
diff --git a/internal/release/release.go b/internal/release/release.go
index 0c8b33f..c6eca97 100644
--- a/internal/release/release.go
+++ b/internal/release/release.go
@@ -11,6 +11,7 @@ import (
"sort"
"strconv"
"strings"
+ "unicode"
"codeberg.org/snonux/gitsyncer/internal/aitool"
"codeberg.org/snonux/gitsyncer/internal/httpclient"
@@ -182,9 +183,21 @@ func compareVersions(v1, v2 string) int {
}
func parseVersionPart(part string) int {
- n, err := strconv.Atoi(part)
+ start := 0
+ if part != "" && (part[0] == '+' || part[0] == '-') {
+ start = 1
+ }
+
+ end := start
+ for end < len(part) && unicode.IsDigit(rune(part[end])) {
+ end++
+ }
+ if end == start {
+ return 0
+ }
+
+ n, err := strconv.Atoi(part[:end])
if err != nil {
- // Keep current behavior for non-numeric segments.
return 0
}