fix data race on migrate repository (#5224)

release/v1.15
Lunny Xiao 2018-10-30 22:06:01 +08:00 committed by techknowlogick
parent 0ba57949e4
commit e61c6cd3db
1 changed files with 8 additions and 3 deletions

View File

@ -1043,7 +1043,6 @@ func MigrateRepository(doer, u *User, opts MigrateRepoOptions) (*Repository, err
if err = SyncReleasesWithTags(repo, gitRepo); err != nil { if err = SyncReleasesWithTags(repo, gitRepo); err != nil {
log.Error(4, "Failed to synchronize tags to releases for repository: %v", err) log.Error(4, "Failed to synchronize tags to releases for repository: %v", err)
} }
UpdateRepoIndexer(repo)
} }
if err = repo.UpdateSize(); err != nil { if err = repo.UpdateSize(); err != nil {
@ -1061,10 +1060,16 @@ func MigrateRepository(doer, u *User, opts MigrateRepoOptions) (*Repository, err
} }
repo.IsMirror = true repo.IsMirror = true
return repo, UpdateRepository(repo, false) err = UpdateRepository(repo, false)
} else {
repo, err = CleanUpMigrateInfo(repo)
} }
return CleanUpMigrateInfo(repo) if err != nil && !repo.IsBare {
UpdateRepoIndexer(repo)
}
return repo, err
} }
// cleanUpMigrateGitConfig removes mirror info which prevents "push --all". // cleanUpMigrateGitConfig removes mirror info which prevents "push --all".