// NextPatchLevel returns the next patch/bugfix Hugo version.
// This will be a patch increment on the previous Hugo version.
func (v HugoVersion) NextPatchLevel(level int) HugoVersion {
+ if v.PatchLevel > 0 {
+ return HugoVersion{Number: v.Number, PatchLevel: level}
+ }
return HugoVersion{Number: v.Number - 0.01, PatchLevel: level}
}
return c
}
+func getCurrentBranch() (string, error) {
+ return gitShort("rev-parse", "--abbrev-ref", "HEAD")
+}
+
+func isMaster() bool {
+ curr, _ := getCurrentBranch()
+ return curr == "master"
+}
+
func getGitInfosBefore(ref string, remote bool) (gitInfos, error) {
var g gitInfos
require.Equal(t, 543, issues[2])
}
+
+func TestGetCurrentBranch(t *testing.T) {
+ curr, err := getCurrentBranch()
+ require.NoError(t, err)
+ require.Equal(t, (curr == "master"), isMaster())
+}
import (
"bytes"
- "fmt"
"testing"
"runtime"
require.NoError(t, writeReleaseNotes("0.20", infos, &b))
- fmt.Println(">>>", b.String())
}
if r.shouldContinue() {
// The version in the current code base is in the state we want for
// the release.
- if r.patch == 0 {
- finalVersion = newVersion.Next()
- }
+ finalVersion = newVersion.Next()
} else if r.patch > 0 {
- newVersion = helpers.CurrentHugoVersion.NextPatchLevel(r.patch)
+ newVersion = current.NextPatchLevel(r.patch)
+ finalVersion = newVersion.Next()
} else {
finalVersion = newVersion.Next()
}
package releaser
import (
+ "fmt"
"testing"
"github.com/spf13/hugo/helpers"
{
New(2, 0, true),
startVersion,
- "0.20.2",
+ "0.19.2",
"0.20-DEV",
},
{
{
New(3, 1, true),
startVersion,
- "0.20.3",
+ "0.19.3",
"0.20-DEV",
},
{
New(3, 2, true),
- startVersion.Next(),
- "0.21",
+ helpers.HugoVersion{Number: 0.20, PatchLevel: 2},
+ "0.20.2",
+ "0.21-DEV",
+ },
+ {
+ New(3, 0, true),
+ helpers.HugoVersion{Number: 0.20, Suffix: "", PatchLevel: 2},
+ "0.20.3",
+ "0.21-DEV",
+ },
+ {
+ New(3, 1, true),
+ helpers.HugoVersion{Number: 0.20, Suffix: "", PatchLevel: 2},
+ "0.20.3",
+ "0.21-DEV",
+ },
+ {
+ New(3, 2, true),
+ helpers.HugoVersion{Number: 0.20, Suffix: "", PatchLevel: 3},
+ "0.20.3",
"0.21-DEV",
},
}
- for _, test := range tests {
+ for i, test := range tests {
v1, v2 := test.handler.calculateVersions(test.version)
- require.Equal(t, test.v1, v1.String(), "Release version")
- require.Equal(t, test.v2, v2.String(), "Final version")
+ require.Equal(t, test.v1, v1.String(), fmt.Sprintf("[%d] Release version", i))
+ require.Equal(t, test.v2, v2.String(), fmt.Sprintf("[%d] Final version", i))
}
}