aboutsummaryrefslogtreecommitdiffstats
path: root/modules/migrations/migrate.go
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2019-12-17 12:16:54 +0800
committertechknowlogick <techknowlogick@gitea.io>2019-12-16 23:16:54 -0500
commitffc904b1e0635d17e55b5fbdea4e18832ee2276d (patch)
tree209691d128fb2e23476e0b1ac67c51c6f5b693de /modules/migrations/migrate.go
parentd1a49977b089afefc40172711d02eb795d2234de (diff)
downloadgitea-ffc904b1e0635d17e55b5fbdea4e18832ee2276d.tar.gz
gitea-ffc904b1e0635d17e55b5fbdea4e18832ee2276d.zip
Sleep longer if request speed is over github limitation (#9335)
* Sleep longer if request speed is over github limitation * improve code * remove unused code * fix lint * Use github's rate limit remain value to determine how long to sleep * Save reset time when finished github api request * fix bug * fix lint * Add context.Context for sleep * fix test * improve code * fix bug and lint * fix import order
Diffstat (limited to 'modules/migrations/migrate.go')
-rw-r--r--modules/migrations/migrate.go7
1 files changed, 5 insertions, 2 deletions
diff --git a/modules/migrations/migrate.go b/modules/migrations/migrate.go
index 957d4c85d0..ece871a857 100644
--- a/modules/migrations/migrate.go
+++ b/modules/migrations/migrate.go
@@ -6,6 +6,7 @@
package migrations
import (
+ "context"
"fmt"
"code.gitea.io/gitea/models"
@@ -28,10 +29,10 @@ func RegisterDownloaderFactory(factory base.DownloaderFactory) {
}
// MigrateRepository migrate repository according MigrateOptions
-func MigrateRepository(doer *models.User, ownerName string, opts base.MigrateOptions) (*models.Repository, error) {
+func MigrateRepository(ctx context.Context, doer *models.User, ownerName string, opts base.MigrateOptions) (*models.Repository, error) {
var (
downloader base.Downloader
- uploader = NewGiteaLocalUploader(doer, ownerName, opts.RepoName)
+ uploader = NewGiteaLocalUploader(ctx, doer, ownerName, opts.RepoName)
theFactory base.DownloaderFactory
)
@@ -69,6 +70,8 @@ func MigrateRepository(doer *models.User, ownerName string, opts base.MigrateOpt
downloader = base.NewRetryDownloader(downloader, setting.Migrations.MaxAttempts, setting.Migrations.RetryBackoff)
}
+ downloader.SetContext(ctx)
+
if err := migrateRepository(downloader, uploader, opts); err != nil {
if err1 := uploader.Rollback(); err1 != nil {
log.Error("rollback failed: %v", err1)