]> source.dussan.org Git - gitea.git/commitdiff
Migration failure during reaction migration from gitea (#13344)
authorzeripath <art27@cantab.net>
Thu, 29 Oct 2020 02:23:31 +0000 (02:23 +0000)
committerGitHub <noreply@github.com>
Thu, 29 Oct 2020 02:23:31 +0000 (22:23 -0400)
* Migrating reactions is just not that important

A failure during migrating reactions should not cause failure of
migration.

Signed-off-by: Andrew Thornton <art27@cantab.net>
* When checking issue reactions check the correct permission

Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
modules/migrations/gitea_downloader.go
modules/migrations/migrate.go
routers/api/v1/repo/issue_reaction.go

index 1531153f2eb6aa236088d7a5005243a9cb67e0bc..e30c92a2fc5939bffedebfc708ed7aaf5da132f1 100644 (file)
@@ -14,6 +14,7 @@ import (
        "strings"
        "time"
 
+       "code.gitea.io/gitea/models"
        "code.gitea.io/gitea/modules/log"
        "code.gitea.io/gitea/modules/migrations/base"
        "code.gitea.io/gitea/modules/structs"
@@ -395,7 +396,11 @@ func (g *GiteaDownloader) GetIssues(page, perPage int) ([]*base.Issue, bool, err
 
                reactions, err := g.getIssueReactions(issue.Index)
                if err != nil {
-                       return nil, false, fmt.Errorf("error while loading reactions for issue #%d. Error: %v", issue.Index, err)
+                       log.Warn("Unable to load reactions during migrating issue #%d to %s/%s. Error: %v", issue.Index, g.repoOwner, g.repoName, err)
+                       if err2 := models.CreateRepositoryNotice(
+                               fmt.Sprintf("Unable to load reactions during migrating issue #%d to %s/%s. Error: %v", issue.Index, g.repoOwner, g.repoName, err)); err2 != nil {
+                               log.Error("create repository notice failed: ", err2)
+                       }
                }
 
                var assignees []string
@@ -534,7 +539,11 @@ func (g *GiteaDownloader) GetPullRequests(page, perPage int) ([]*base.PullReques
 
                reactions, err := g.getIssueReactions(pr.Index)
                if err != nil {
-                       return nil, false, fmt.Errorf("error while loading reactions for pull #%d. Error: %v", pr.Index, err)
+                       log.Warn("Unable to load reactions during migrating pull #%d to %s/%s. Error: %v", pr.Index, g.repoOwner, g.repoName, err)
+                       if err2 := models.CreateRepositoryNotice(
+                               fmt.Sprintf("Unable to load reactions during migrating pull #%d to %s/%s. Error: %v", pr.Index, g.repoOwner, g.repoName, err)); err2 != nil {
+                               log.Error("create repository notice failed: ", err2)
+                       }
                }
 
                var assignees []string
index 191f2a555034fd7b6b1fc8ba69cc0416b20f20ad..3c505d82b6d254748e08119bcd5647527b6a3425 100644 (file)
@@ -69,7 +69,7 @@ func MigrateRepository(ctx context.Context, doer *models.User, ownerName string,
                }
 
                if err2 := models.CreateRepositoryNotice(fmt.Sprintf("Migrate repository from %s failed: %v", opts.OriginalURL, err)); err2 != nil {
-                       log.Error("create respotiry notice failed: ", err2)
+                       log.Error("create repository notice failed: ", err2)
                }
                return nil, err
        }
index f5387fdd1adf1785e44c526287f2b5b4c0bab09b..5c983b0fc5a41abfad25c21f50a8c14f3dd97231 100644 (file)
@@ -271,7 +271,7 @@ func GetIssueReactions(ctx *context.APIContext) {
                return
        }
 
-       if !ctx.Repo.CanRead(models.UnitTypeIssues) {
+       if !ctx.Repo.CanReadIssuesOrPulls(issue.IsPull) {
                ctx.Error(http.StatusForbidden, "GetIssueReactions", errors.New("no permission to get reactions"))
                return
        }