]> source.dussan.org Git - gitea.git/commitdiff
Fix migrate release from github (#19510) (#19523)
authorLunny Xiao <xiaolunwen@gmail.com>
Wed, 27 Apr 2022 12:46:00 +0000 (20:46 +0800)
committerGitHub <noreply@github.com>
Wed, 27 Apr 2022 12:46:00 +0000 (14:46 +0200)
* Fix migrate release from github

* Fix bug

services/migrations/gitea_uploader.go

index e78d0c382eb753460f06e72c7cfb6fcf6a2b018f..debe17241477027c14a8161118ab8244eb2f392a 100644 (file)
@@ -7,6 +7,7 @@ package migrations
 
 import (
        "context"
+       "errors"
        "fmt"
        "io"
        "os"
@@ -246,7 +247,6 @@ func (g *GiteaLocalUploader) CreateReleases(releases ...*base.Release) error {
                        LowerTagName: strings.ToLower(release.TagName),
                        Target:       release.TargetCommitish,
                        Title:        release.Name,
-                       Sha1:         release.TargetCommitish,
                        Note:         release.Body,
                        IsDraft:      release.Draft,
                        IsPrerelease: release.Prerelease,
@@ -275,15 +275,18 @@ func (g *GiteaLocalUploader) CreateReleases(releases ...*base.Release) error {
                        rel.OriginalAuthorID = release.PublisherID
                }
 
-               // 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)
+                               }
                        }
                }