import (
"context"
+ "errors"
"fmt"
"io"
"os"
LowerTagName: strings.ToLower(release.TagName),
Target: release.TargetCommitish,
Title: release.Name,
- Sha1: release.TargetCommitish,
Note: release.Body,
IsDraft: release.Draft,
IsPrerelease: release.Prerelease,
return err
}
- // calc NumCommits if no draft
- if !release.Draft {
+ // calc NumCommits if possible
+ if rel.TagName != "" {
commit, err := g.gitRepo.GetTagCommit(rel.TagName)
- if err != nil {
- return fmt.Errorf("GetTagCommit[%v]: %v", rel.TagName, err)
- }
- rel.NumCommits, err = commit.CommitsCount()
- if err != nil {
- return fmt.Errorf("CommitsCount: %v", err)
+ if !errors.Is(err, git.ErrNotExist{}) {
+ if err != nil {
+ return fmt.Errorf("GetTagCommit[%v]: %v", rel.TagName, err)
+ }
+ rel.Sha1 = commit.ID.String()
+ rel.NumCommits, err = commit.CommitsCount()
+ if err != nil {
+ return fmt.Errorf("CommitsCount: %v", err)
+ }
}
}