summaryrefslogtreecommitdiffstats
path: root/modules/migrations/base/downloader.go
diff options
context:
space:
mode:
author6543 <6543@obermui.de>2020-10-14 06:06:00 +0200
committerGitHub <noreply@github.com>2020-10-14 07:06:00 +0300
commit49b1948cb11f46b8dabc6c977079ca9a187c92e0 (patch)
tree4c582fd4a53ce6ee3d24b1ef902b3f242187eb50 /modules/migrations/base/downloader.go
parentdfa7291f8fafd2aac032ef73a78b588e4d0e9a36 (diff)
downloadgitea-49b1948cb11f46b8dabc6c977079ca9a187c92e0.tar.gz
gitea-49b1948cb11f46b8dabc6c977079ca9a187c92e0.zip
Gitea 2 Gitea migration (#12657)
* first draft * update gitea sdk to 9e280adb4da * adapt feat of updated sdk * releases now works * break the Reactions loop * use convertGiteaLabel * fix endless loop because paggination is not supported there !!! * rename gitea local uploader files * pagination can bite you in the ass * Version Checks * lint * docs * rename gitea sdk import to miss future conficts * go-swagger: dont scan the sdk structs * make sure gitea can shutdown gracefully * make GetPullRequests and GetIssues similar * rm useles * Add Test: started ... * ... add tests ... * Add tests and Fixing things * Workaround missing SHA * Adapt: Ensure that all migration requests are cancellable (714ab71ddc4260937b1480519d453d2dc4e77dd6) * LINT: fix misspells in test set * adapt ListMergeRequestAwardEmoji * update sdk * Return error when creating giteadownloader failed * update sdk * adapt new sdk * adopt new features * check version before err * adapt: 'migrate service type switch page' * optimize * Fix DefaultBranch * impruve * handle subPath * fix test * Fix ReviewCommentPosition * test GetReviews * add DefaultBranch int test set * rm unused * Update SDK to v0.13.0 * addopt sdk changes * found better link * format template * Update Docs * Update Gitea SDK (v0.13.1)
Diffstat (limited to 'modules/migrations/base/downloader.go')
-rw-r--r--modules/migrations/base/downloader.go15
1 files changed, 8 insertions, 7 deletions
diff --git a/modules/migrations/base/downloader.go b/modules/migrations/base/downloader.go
index 036abf22c9..5c47ed5305 100644
--- a/modules/migrations/base/downloader.go
+++ b/modules/migrations/base/downloader.go
@@ -15,7 +15,7 @@ import (
// AssetDownloader downloads an asset (attachment) for a release
type AssetDownloader interface {
- GetAsset(tag string, id int64) (io.ReadCloser, error)
+ GetAsset(relTag string, relID, id int64) (io.ReadCloser, error)
}
// Downloader downloads the site repo informations
@@ -29,7 +29,7 @@ type Downloader interface {
GetLabels() ([]*Label, error)
GetIssues(page, perPage int) ([]*Issue, bool, error)
GetComments(issueNumber int64) ([]*Comment, error)
- GetPullRequests(page, perPage int) ([]*PullRequest, error)
+ GetPullRequests(page, perPage int) ([]*PullRequest, bool, error)
GetReviews(pullRequestNumber int64) ([]*Review, error)
}
@@ -209,23 +209,24 @@ func (d *RetryDownloader) GetComments(issueNumber int64) ([]*Comment, error) {
}
// GetPullRequests returns a repository's pull requests with retry
-func (d *RetryDownloader) GetPullRequests(page, perPage int) ([]*PullRequest, error) {
+func (d *RetryDownloader) GetPullRequests(page, perPage int) ([]*PullRequest, bool, error) {
var (
times = d.RetryTimes
prs []*PullRequest
err error
+ isEnd bool
)
for ; times > 0; times-- {
- if prs, err = d.Downloader.GetPullRequests(page, perPage); err == nil {
- return prs, nil
+ if prs, isEnd, err = d.Downloader.GetPullRequests(page, perPage); err == nil {
+ return prs, isEnd, nil
}
select {
case <-d.ctx.Done():
- return nil, d.ctx.Err()
+ return nil, false, d.ctx.Err()
case <-time.After(time.Second * time.Duration(d.RetryDelay)):
}
}
- return nil, err
+ return nil, false, err
}
// GetReviews returns pull requests reviews