From e344b94d455712d9e753ef235bc6ff0e76fd91f2 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 29 May 2026 17:14:38 +0300 Subject: fix(vq): restore version-prefix parsing and stash no-op handling --- internal/release/release.go | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'internal/release/release.go') 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 } -- cgit v1.2.3