diff --git a/models/repo.go b/models/repo.go index 1bdd1581f2..3e18776046 100644 --- a/models/repo.go +++ b/models/repo.go @@ -1043,7 +1043,6 @@ func MigrateRepository(doer, u *User, opts MigrateRepoOptions) (*Repository, err if err = SyncReleasesWithTags(repo, gitRepo); err != nil { log.Error(4, "Failed to synchronize tags to releases for repository: %v", err) } - UpdateRepoIndexer(repo) } if err = repo.UpdateSize(); err != nil { @@ -1061,10 +1060,16 @@ func MigrateRepository(doer, u *User, opts MigrateRepoOptions) (*Repository, err } 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".