]> source.dussan.org Git - gitea.git/commitdiff
Fix migrate release from github (#19510)
authorLunny Xiao <xiaolunwen@gmail.com>
Tue, 26 Apr 2022 23:24:06 +0000 (07:24 +0800)
committerGitHub <noreply@github.com>
Tue, 26 Apr 2022 23:24:06 +0000 (19:24 -0400)
* Fix migrate release from github

* Fix bug

services/migrations/gitea_uploader.go

index 0303b0d60c987baf0c57fd2376eac2d640c99222..34dd59d7fc0d5f8ea6a94b74faeef61c43070410 100644 (file)
@@ -7,6 +7,7 @@ package migrations
 
 import (
        "context"
+       "errors"
        "fmt"
        "io"
        "os"
@@ -253,7 +254,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,
@@ -265,15 +265,18 @@ func (g *GiteaLocalUploader) CreateReleases(releases ...*base.Release) error {
                        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)
+                               }
                        }
                }