Skip to content

Commit dc023be

Browse files
authored
fix: Ensure --always doesn't increment twice (#289)
IncPatch (and family) already handle the case where we have a prerelease + metadata set. We don't need to strip it before then. If we strip it too early, then we can accidentally regress two versions. Signed-off-by: Justin Chadwell <justin@unikraft.com>
1 parent 6981ade commit dc023be

2 files changed

Lines changed: 8 additions & 8 deletions

File tree

internal/svu/svu.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -91,12 +91,6 @@ func nextVersion(
9191
return *current, nil
9292
}
9393

94-
if opts.Always {
95-
c, _ := current.SetMetadata("")
96-
c, _ = c.SetPrerelease("")
97-
current = &c
98-
}
99-
10094
var result semver.Version
10195
var err error
10296
switch opts.Action {
@@ -113,6 +107,12 @@ func nextVersion(
113107
return result, err
114108
}
115109

110+
if opts.Always {
111+
c, _ := current.SetMetadata("")
112+
c, _ = c.SetPrerelease("")
113+
current = &c
114+
}
115+
116116
if opts.Action == PreRelease {
117117
result, err = nextPreRelease(current, &result, opts.PreRelease)
118118
if err != nil {

internal/svu/svu_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ func TestCmd(t *testing.T) {
190190
Always: true,
191191
})
192192
require.NoError(t, err)
193-
require.Equal(t, "1.2.4", v.String())
193+
require.Equal(t, "1.2.3", v.String())
194194
})
195195
t.Run("previous had meta + always, add meta", func(t *testing.T) {
196196
v, err := nextVersion(semver.MustParse("1.2.3-alpha.1+1"), "v1.2.3-alpha.1+1", Options{
@@ -201,7 +201,7 @@ func TestCmd(t *testing.T) {
201201
Metadata: "10",
202202
})
203203
require.NoError(t, err)
204-
require.Equal(t, "1.2.4-alpha.2+10", v.String())
204+
require.Equal(t, "1.2.3-alpha.2+10", v.String())
205205
})
206206
t.Run("previous had meta, change it", func(t *testing.T) {
207207
v, err := nextVersion(semver.MustParse("1.2.3-alpha.1+1"), "v1.2.3-alpha.1+1", Options{

0 commit comments

Comments
 (0)