Skip to content

Commit 10e697b

Browse files
committed
fix data race on migrate repository (go-gitea#5224)
1 parent e28801f commit 10e697b

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

models/repo.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1035,7 +1035,6 @@ func MigrateRepository(doer, u *User, opts MigrateRepoOptions) (*Repository, err
10351035
if err = SyncReleasesWithTags(repo, gitRepo); err != nil {
10361036
log.Error(4, "Failed to synchronize tags to releases for repository: %v", err)
10371037
}
1038-
UpdateRepoIndexer(repo)
10391038
}
10401039

10411040
if err = repo.UpdateSize(); err != nil {
@@ -1053,10 +1052,16 @@ func MigrateRepository(doer, u *User, opts MigrateRepoOptions) (*Repository, err
10531052
}
10541053

10551054
repo.IsMirror = true
1056-
return repo, UpdateRepository(repo, false)
1055+
err = UpdateRepository(repo, false)
1056+
} else {
1057+
repo, err = CleanUpMigrateInfo(repo)
1058+
}
1059+
1060+
if err != nil && !repo.IsBare {
1061+
UpdateRepoIndexer(repo)
10571062
}
10581063

1059-
return CleanUpMigrateInfo(repo)
1064+
return repo, err
10601065
}
10611066

10621067
// cleanUpMigrateGitConfig removes mirror info which prevents "push --all".

0 commit comments

Comments
 (0)