diff options
| author | Paul Buetow <paul@buetow.org> | 2026-05-29 17:07:22 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-05-29 17:07:22 +0300 |
| commit | b076c5e2ac5403de28c5d0ba44fddf216f3034ce (patch) | |
| tree | a979b40edc269005879d6be2c4a2fced4210156c /internal/release/release.go | |
| parent | a956a672859e92190149506197ad0fa682e964e2 (diff) | |
fix(vq): handle ignored stash/pop and parse errors explicitly
Diffstat (limited to 'internal/release/release.go')
| -rw-r--r-- | internal/release/release.go | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/internal/release/release.go b/internal/release/release.go index 9af3392..0c8b33f 100644 --- a/internal/release/release.go +++ b/internal/release/release.go @@ -9,6 +9,7 @@ import ( "os" "os/exec" "sort" + "strconv" "strings" "codeberg.org/snonux/gitsyncer/internal/aitool" @@ -164,10 +165,10 @@ func compareVersions(v1, v2 string) int { var n1, n2 int if i < len(parts1) { - fmt.Sscanf(parts1[i], "%d", &n1) + n1 = parseVersionPart(parts1[i]) } if i < len(parts2) { - fmt.Sscanf(parts2[i], "%d", &n2) + n2 = parseVersionPart(parts2[i]) } if n1 < n2 { @@ -180,6 +181,16 @@ func compareVersions(v1, v2 string) int { return 0 } +func parseVersionPart(part string) int { + n, err := strconv.Atoi(part) + if err != nil { + // Keep current behavior for non-numeric segments. + return 0 + } + + return n +} + // GetCommitsSinceTag gets all commits since a specific tag func (m *Manager) GetCommitsSinceTag(repoPath, fromTag, toTag string) ([]string, error) { // Use git log to get commits between tags |
