]> source.dussan.org Git - gitea.git/commitdiff
Change repo search to use exact match for topic search. (#7941)
authorDavid Svantesson <davidsvantesson@gmail.com>
Fri, 23 Aug 2019 02:37:35 +0000 (04:37 +0200)
committertechknowlogick <techknowlogick@gitea.io>
Fri, 23 Aug 2019 02:37:35 +0000 (22:37 -0400)
Signed-off-by: David Svantesson <davidsvantesson@gmail.com>
models/repo_list.go

index 7460c4b0ede6147b5d542279333d62c66f9333f7..ee4266d4e6cc624f7d024f3be7159038c67ba646 100644 (file)
@@ -248,7 +248,11 @@ func SearchRepositoryByName(opts *SearchRepoOptions) (RepositoryList, int64, err
                // separate keyword
                var subQueryCond = builder.NewCond()
                for _, v := range strings.Split(opts.Keyword, ",") {
-                       subQueryCond = subQueryCond.Or(builder.Like{"topic.name", strings.ToLower(v)})
+                       if opts.TopicOnly {
+                               subQueryCond = subQueryCond.Or(builder.Eq{"topic.name": strings.ToLower(v)})
+                       } else {
+                               subQueryCond = subQueryCond.Or(builder.Like{"topic.name", strings.ToLower(v)})
+                       }
                }
                subQuery := builder.Select("repo_topic.repo_id").From("repo_topic").
                        Join("INNER", "topic", "topic.id = repo_topic.topic_id").