forked from forgejo/forgejo
Ensure that all migration requests are cancellable (#12669)
* Ensure that all migration requests are cancellable Signed-off-by: Andrew Thornton <art27@cantab.net> * Use WithContext as RequestWithContext is go 1.14 Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
This commit is contained in:
parent
84eac6ed6c
commit
714ab71ddc
7 changed files with 86 additions and 39 deletions
|
@ -37,7 +37,7 @@ func MigrateRepository(ctx context.Context, doer *models.User, ownerName string,
|
|||
|
||||
for _, factory := range factories {
|
||||
if factory.GitServiceType() == opts.GitServiceType {
|
||||
downloader, err = factory.New(opts)
|
||||
downloader, err = factory.New(ctx, opts)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -60,11 +60,9 @@ func MigrateRepository(ctx context.Context, doer *models.User, ownerName string,
|
|||
uploader.gitServiceType = opts.GitServiceType
|
||||
|
||||
if setting.Migrations.MaxAttempts > 1 {
|
||||
downloader = base.NewRetryDownloader(downloader, setting.Migrations.MaxAttempts, setting.Migrations.RetryBackoff)
|
||||
downloader = base.NewRetryDownloader(ctx, 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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue