From ba1acf5b50739a37014ea1a9bf502019c7562b27 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Fri, 13 Dec 2019 05:46:43 +0800 Subject: [PATCH] fix issue indexer not triggered when migrating a repository (#9332) --- modules/indexer/issues/indexer.go | 37 ++++++++++++++----------- modules/notification/indexer/indexer.go | 1 + 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/modules/indexer/issues/indexer.go b/modules/indexer/issues/indexer.go index f4771136be5..78eba58095f 100644 --- a/modules/indexer/issues/indexer.go +++ b/modules/indexer/issues/indexer.go @@ -204,26 +204,31 @@ func populateIssueIndexer() { } for _, repo := range repos { - is, err := models.Issues(&models.IssuesOptions{ - RepoIDs: []int64{repo.ID}, - IsClosed: util.OptionalBoolNone, - IsPull: util.OptionalBoolNone, - }) - if err != nil { - log.Error("Issues: %v", err) - continue - } - if err = models.IssueList(is).LoadDiscussComments(); err != nil { - log.Error("LoadComments: %v", err) - continue - } - for _, issue := range is { - UpdateIssueIndexer(issue) - } + UpdateRepoIndexer(repo) } } } +// UpdateRepoIndexer add/update all issues of the repositories +func UpdateRepoIndexer(repo *models.Repository) { + is, err := models.Issues(&models.IssuesOptions{ + RepoIDs: []int64{repo.ID}, + IsClosed: util.OptionalBoolNone, + IsPull: util.OptionalBoolNone, + }) + if err != nil { + log.Error("Issues: %v", err) + return + } + if err = models.IssueList(is).LoadDiscussComments(); err != nil { + log.Error("LoadComments: %v", err) + return + } + for _, issue := range is { + UpdateIssueIndexer(issue) + } +} + // UpdateIssueIndexer add/update an issue to the issue indexer func UpdateIssueIndexer(issue *models.Issue) { var comments []string diff --git a/modules/notification/indexer/indexer.go b/modules/notification/indexer/indexer.go index 0e76dde5394..4ca5e64c3e4 100644 --- a/modules/notification/indexer/indexer.go +++ b/modules/notification/indexer/indexer.go @@ -111,6 +111,7 @@ func (r *indexerNotifier) NotifyDeleteRepository(doer *models.User, repo *models } func (r *indexerNotifier) NotifyMigrateRepository(doer *models.User, u *models.User, repo *models.Repository) { + issue_indexer.UpdateRepoIndexer(repo) if setting.Indexer.RepoIndexerEnabled && !repo.IsEmpty { code_indexer.UpdateRepoIndexer(repo) }