gitlab-org--gitlab-foss/spec/services/projects
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
..
group_links Refactor/group links controller 2017-11-01 14:08:18 +00:00
hashed_storage Find and mark more Git disk access locations, part 2 2018-06-12 14:33:37 +02:00
import_export Export LFS Objects when exporting a project 2018-04-05 10:21:51 +02:00
lfs_pointers Support LFS objects when creating a project by import 2018-06-06 16:42:18 +00:00
after_import_service_spec.rb Find and mark more Git disk access locations, part 2 2018-06-12 14:33:37 +02:00
autocomplete_service_spec.rb Backport of EE changes in https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/6195 2018-07-06 17:03:39 +08:00
batch_open_issues_count_service_spec.rb BatchOpenIssuesCount only updates public issues count 2018-06-25 11:54:11 -03:00
count_service_spec.rb Fixed bug 2017-12-04 12:33:19 +01:00
create_from_template_service_spec.rb Merge branch 'fj-6860-instance-level-project-templates' into 'master' 2018-08-01 08:54:23 +00:00
create_service_spec.rb Resolve "Rename the Master role to Maintainer" Backend 2018-07-11 14:36:08 +00:00
destroy_service_spec.rb Replace 'Sidekiq::Testing.inline!' with 'perform_enqueued_jobs' 2018-07-23 15:34:54 +11:00
detect_repository_languages_service_spec.rb Add repository languages for projects 2018-08-01 18:58:29 +02:00
download_service_spec.rb Change all :empty_project to :project 2017-08-02 17:47:31 -04:00
enable_deploy_key_service_spec.rb Change all :empty_project to :project 2017-08-02 17:47:31 -04:00
fork_service_spec.rb Updates from rubocop -a 2018-07-09 21:13:08 +08:00
forks_count_service_spec.rb Cache the number of open issues and merge requests 2017-08-23 13:42:29 +02:00
gitlab_projects_import_service_spec.rb EE Port 2018-07-20 19:25:10 -04:00
hashed_storage_migration_service_spec.rb Use hashed storage in the specs 2018-02-07 13:40:46 +00:00
housekeeping_service_spec.rb Replace 'Sidekiq::Testing.inline!' with 'perform_enqueued_jobs' 2018-07-23 15:34:54 +11:00
import_service_spec.rb Fix #49272 - Sanitize git URL in import errors 2018-07-16 12:17:54 +02:00
move_access_service_spec.rb Resolve "Rename the Master role to Maintainer" Backend 2018-07-11 14:36:08 +00:00
move_deploy_keys_projects_service_spec.rb Extend API for importing a project export with overwrite support 2018-04-06 15:23:49 +00:00
move_forks_service_spec.rb Extend API for importing a project export with overwrite support 2018-04-06 15:23:49 +00:00
move_lfs_objects_projects_service_spec.rb Extend API for importing a project export with overwrite support 2018-04-06 15:23:49 +00:00
move_notification_settings_service_spec.rb Extend API for importing a project export with overwrite support 2018-04-06 15:23:49 +00:00
move_project_authorizations_service_spec.rb Resolve "Rename the Master role to Maintainer" Backend 2018-07-11 14:36:08 +00:00
move_project_group_links_service_spec.rb Resolve "Rename the Master role to Maintainer" Backend 2018-07-11 14:36:08 +00:00
move_project_members_service_spec.rb Resolve "Rename the Master role to Maintainer" Backend 2018-07-11 14:36:08 +00:00
move_users_star_projects_service_spec.rb Extend API for importing a project export with overwrite support 2018-04-06 15:23:49 +00:00
open_issues_count_service_spec.rb Fix refresh cache for open issues count service 2018-06-21 17:34:33 -03:00
open_merge_requests_count_service_spec.rb Cache the number of open issues and merge requests 2017-08-23 13:42:29 +02:00
overwrite_project_service_spec.rb Resolve "Rename the Master role to Maintainer" Backend 2018-07-11 14:36:08 +00:00
participants_service_spec.rb Make all uses of fixture_file_upload use relative paths 2018-06-07 09:54:41 -05:00
propagate_service_template_spec.rb Change all :empty_project to :project 2017-08-02 17:47:31 -04:00
transfer_service_spec.rb Remove code for dynamically generating routes 2018-07-25 16:41:29 +02:00
unlink_fork_service_spec.rb Don't link LFS-objects multiple times. 2017-12-19 17:06:18 +01:00
update_pages_configuration_service_spec.rb Change all :empty_project to :project 2017-08-02 17:47:31 -04:00
update_pages_service_spec.rb Squashed commit of the following: 2018-07-27 14:05:34 +09:00
update_remote_mirror_service_spec.rb Update remote happens through Gitaly only 2018-06-25 15:47:42 +02:00
update_service_spec.rb Remove todos when project feature visibility changes 2018-07-31 12:32:08 +02:00