@@ -7,6 +7,7 @@ package migrations
7
7
8
8
import (
9
9
"context"
10
+ "errors"
10
11
"fmt"
11
12
"io"
12
13
"os"
@@ -246,7 +247,6 @@ func (g *GiteaLocalUploader) CreateReleases(releases ...*base.Release) error {
246
247
LowerTagName : strings .ToLower (release .TagName ),
247
248
Target : release .TargetCommitish ,
248
249
Title : release .Name ,
249
- Sha1 : release .TargetCommitish ,
250
250
Note : release .Body ,
251
251
IsDraft : release .Draft ,
252
252
IsPrerelease : release .Prerelease ,
@@ -275,15 +275,18 @@ func (g *GiteaLocalUploader) CreateReleases(releases ...*base.Release) error {
275
275
rel .OriginalAuthorID = release .PublisherID
276
276
}
277
277
278
- // calc NumCommits if no draft
279
- if ! release . Draft {
278
+ // calc NumCommits if possible
279
+ if rel . TagName != "" {
280
280
commit , err := g .gitRepo .GetTagCommit (rel .TagName )
281
- if err != nil {
282
- return fmt .Errorf ("GetTagCommit[%v]: %v" , rel .TagName , err )
283
- }
284
- rel .NumCommits , err = commit .CommitsCount ()
285
- if err != nil {
286
- return fmt .Errorf ("CommitsCount: %v" , err )
281
+ if ! errors .Is (err , git.ErrNotExist {}) {
282
+ if err != nil {
283
+ return fmt .Errorf ("GetTagCommit[%v]: %v" , rel .TagName , err )
284
+ }
285
+ rel .Sha1 = commit .ID .String ()
286
+ rel .NumCommits , err = commit .CommitsCount ()
287
+ if err != nil {
288
+ return fmt .Errorf ("CommitsCount: %v" , err )
289
+ }
287
290
}
288
291
}
289
292
0 commit comments