diff options
author | zeripath <art27@cantab.net> | 2022-06-09 03:50:05 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-09 10:50:05 +0800 |
commit | 7948cb3149ab64484a8d4c6644f53f9f39accbef (patch) | |
tree | 57d26b3cd16456876ded4305ce0cb0ee375b9fb9 /services/migrations/gitea_downloader.go | |
parent | d087554d81e56bff6bde9c68bf610daae15b011e (diff) | |
download | gitea-7948cb3149ab64484a8d4c6644f53f9f39accbef.tar.gz gitea-7948cb3149ab64484a8d4c6644f53f9f39accbef.zip |
Prevent NPE whilst migrating if there is a team request review (#19855)
A pr.Reviewer may be nil when migrating from Gitea if this is a team
request review.
We do not migrate teams therefore we cannot map these requests, but we can
migrate user requests.
Signed-off-by: Andrew Thornton <art27@cantab.net>
Diffstat (limited to 'services/migrations/gitea_downloader.go')
-rw-r--r-- | services/migrations/gitea_downloader.go | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/services/migrations/gitea_downloader.go b/services/migrations/gitea_downloader.go index 3c02e112ca..4ad55894ee 100644 --- a/services/migrations/gitea_downloader.go +++ b/services/migrations/gitea_downloader.go @@ -639,6 +639,11 @@ func (g *GiteaDownloader) GetReviews(reviewable base.Reviewable) ([]*base.Review } for _, pr := range prl { + if pr.Reviewer == nil { + // Presumably this is a team review which we cannot migrate at present but we have to skip this review as otherwise the review will be mapped on to an incorrect user. + // TODO: handle team reviews + continue + } rcl, _, err := g.client.ListPullReviewComments(g.repoOwner, g.repoName, reviewable.GetForeignIndex(), pr.ID) if err != nil { @@ -664,7 +669,7 @@ func (g *GiteaDownloader) GetReviews(reviewable base.Reviewable) ([]*base.Review }) } - allReviews = append(allReviews, &base.Review{ + review := &base.Review{ ID: pr.ID, IssueIndex: reviewable.GetLocalIndex(), ReviewerID: pr.Reviewer.ID, @@ -675,7 +680,9 @@ func (g *GiteaDownloader) GetReviews(reviewable base.Reviewable) ([]*base.Review CreatedAt: pr.Submitted, State: string(pr.State), Comments: reviewComments, - }) + } + + allReviews = append(allReviews, review) } if len(prl) < g.maxPerPage { |