Commit Graph

7 Commits

Author SHA1 Message Date
GitLab Bot 4c5468b408 Add latest changes from gitlab-org/gitlab@master 2020-06-24 15:08:50 +00:00
GitLab Bot 0ba3a054d2 Add latest changes from gitlab-org/gitlab@master 2020-01-10 09:07:49 +00:00
Diego Silva 091b15b742 Change DetectRepositoryLanguagesWorker to not receive user
Fixes #60425
2019-05-09 16:54:20 +01:00
Thong Kuah 85b29c1c2f Add frozen_string_literal to spec/services
Probably useful as we often move these files to "new" files.
2019-04-12 10:14:54 +12:00
Igor Drozdov 732f892db3 Return cached languages if they've been detected before 2019-03-20 20:33:49 +03:00
Zeger-Jan van de Weg caaadb87b1
Remove feature gates for Repository Languages
The repository languages feature got introduced through:
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/19480. This MR
included feature flags to guard against performance regressions, which
allowed GitLab to test it on gitlab.com before the customers would be
exposed.

.com worked out fine, as shown by our internal monitoring tools, which
prompts feature gate removal.

Given the docs weren't present yet, these were added too.
2018-08-16 15:17:16 +02:00
Zeger-Jan van de Weg 79a5d76801
Add repository languages for projects
Our friends at GitHub show the programming languages for a long time,
and inspired by that this commit means to create about the same
functionality.

Language detection is done through Linguist, as before, where the
difference is that we cache the result in the database. Also, Gitaly can
incrementaly scan a repository. This is done through a shell out, which
creates overhead of about 3s each run. For now this won't be improved.

Scans are triggered by pushed to the default branch, usually `master`.
However, one exception to this rule the charts page. If we're requesting
this expensive data anyway, we just cache it in the database.

Edge cases where there is no repository, or its empty are caught in the
Repository model. This makes use of Redis caching, which is probably
already loaded.

The added model is called RepositoryLanguage, which will make it harder
if/when GitLab supports multiple repositories per project. However, for
now I think this shouldn't be a concern. Also, Language could be
confused with the i18n languages and felt like the current name was
suiteable too.

Design of the Project#Show page is done with help from @dimitrieh. This
change is not visible to the end user unless detections are done.
2018-08-01 18:58:29 +02:00