Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'releaser/releaser.go')
-rw-r--r--releaser/releaser.go20
1 files changed, 15 insertions, 5 deletions
diff --git a/releaser/releaser.go b/releaser/releaser.go
index ddf64a759..e7e7f479f 100644
--- a/releaser/releaser.go
+++ b/releaser/releaser.go
@@ -24,7 +24,6 @@ import (
"os/exec"
"path/filepath"
"regexp"
- "strings"
"github.com/spf13/hugo/helpers"
)
@@ -89,20 +88,31 @@ func (r *ReleaseHandler) Run() error {
tag := "v" + version
// Exit early if tag already exists
- out, err := git("tag", "-l", tag)
-
+ exists, err := tagExists(tag)
if err != nil {
return err
}
- if strings.Contains(out, tag) {
+ if exists {
return fmt.Errorf("Tag %q already exists", tag)
}
+ var changeLogFromTag string
+
+ if newVersion.PatchLevel == 0 {
+ // There may have been patch releases inbetween, so set the tag explicitly.
+ changeLogFromTag = "v" + newVersion.Prev().String()
+ exists, _ := tagExists(changeLogFromTag)
+ if !exists {
+ // fall back to one that exists.
+ changeLogFromTag = ""
+ }
+ }
+
var gitCommits gitInfos
if r.shouldPrepare() || r.shouldRelease() {
- gitCommits, err = getGitInfos(true)
+ gitCommits, err = getGitInfos(changeLogFromTag, true)
if err != nil {
return err
}