gitlab-org--gitlab-foss/spec/models
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
..
application_setting
badges
blob_viewer
ci Add specs for unsupported runner 2018-08-01 12:25:19 +02:00
clusters Revert "Merge branch '48098-mutual-auth-cluster-applications' into 'master'" 2018-07-31 13:15:18 +00:00
concerns Remove code for dynamically generating routes 2018-07-25 16:41:29 +02:00
conversational_development_index
cycle_analytics
diff_viewer
hooks Resolve "Rename the Master role to Maintainer" Backend 2018-07-11 14:36:08 +00:00
issue
members Resolve "Rename the Master role to Maintainer" Backend 2018-07-11 14:36:08 +00:00
merge_request
network
project_services Fix Hangouts Chat service spec shared example 2018-07-18 20:14:55 +09:00
protected_branch Resolve "Rename the Master role to Maintainer" Backend 2018-07-11 14:36:08 +00:00
ability_spec.rb
abuse_report_spec.rb
active_session_spec.rb
appearance_spec.rb
application_setting_spec.rb Ignore unknown OAuth sources in ApplicationSetting 2018-06-26 09:34:08 +02:00
award_emoji_spec.rb
badge_spec.rb
blob_spec.rb
board_spec.rb
broadcast_message_spec.rb
chat_name_spec.rb
chat_team_spec.rb
commit_collection_spec.rb
commit_range_spec.rb
commit_spec.rb Client-side fix for Gitaly TreeEntry bug 2018-06-26 14:12:08 +02:00
commit_status_spec.rb
compare_spec.rb
container_repository_spec.rb
cycle_analytics_spec.rb
deploy_key_spec.rb
deploy_keys_project_spec.rb
deploy_token_spec.rb Resolve "Deploy Tokens failed to clone LFS repository" 2018-07-23 09:23:08 +00:00
deployment_spec.rb Remove unused stop_action? method from deployment class 2018-07-12 12:31:33 +02:00
diff_discussion_spec.rb
diff_note_spec.rb
discussion_spec.rb
email_spec.rb
environment_spec.rb Rename environments stop action method 2018-07-12 12:22:11 +02:00
event_collection_spec.rb
event_spec.rb
external_issue_spec.rb
fork_network_member_spec.rb
fork_network_spec.rb
forked_project_link_spec.rb
generic_commit_status_spec.rb
global_milestone_spec.rb
gpg_key_spec.rb
gpg_key_subkey_spec.rb
gpg_signature_spec.rb
group_custom_attribute_spec.rb
group_label_spec.rb
group_milestone_spec.rb
group_spec.rb Resolve "Rename the Master role to Maintainer" Backend 2018-07-11 14:36:08 +00:00
guest_spec.rb
identity_spec.rb
import_export_upload_spec.rb Update Import/Export to use object storage (based on aa feature flag) 2018-07-06 15:46:18 +02:00
instance_configuration_spec.rb
internal_id_spec.rb Resolve "Allow issue's Internal ID (iid) to be set when creating via the API" 2018-08-01 09:03:14 +00:00
issue_collection_spec.rb
issue_spec.rb Resolve "Rename the Master role to Maintainer" Backend 2018-07-11 14:36:08 +00:00
key_spec.rb
label_link_spec.rb
label_priority_spec.rb
label_spec.rb Add specs for label search backend code 2018-07-31 12:46:37 +03:00
legacy_diff_discussion_spec.rb
lfs_file_lock_spec.rb Resolve "Rename the Master role to Maintainer" Backend 2018-07-11 14:36:08 +00:00
lfs_object_spec.rb
lfs_objects_project_spec.rb
list_spec.rb
member_spec.rb Resolve "Rename the Master role to Maintainer" Backend 2018-07-11 14:36:08 +00:00
merge_request_diff_commit_spec.rb
merge_request_diff_file_spec.rb
merge_request_diff_spec.rb Render MR page when no persisted diff_refs or diffs size 2018-07-18 10:53:19 +01:00
merge_request_spec.rb Resolve "Rename the Master role to Maintainer" Backend 2018-07-11 14:36:08 +00:00
milestone_spec.rb Fix ordering by name on milestones page 2018-07-30 11:01:55 -03:00
namespace_spec.rb Merge branch 'stop-dynamic-routable-creation' into 'master' 2018-07-27 13:51:04 +00:00
note_diff_file_spec.rb
note_spec.rb Resolve "Rename the Master role to Maintainer" Backend 2018-07-11 14:36:08 +00:00
notification_recipient_spec.rb Apply notification settings level of groups to all child objects 2018-06-07 15:47:39 -03:00
notification_setting_spec.rb Allow to toggle notifications for issues due soon 2018-07-12 12:03:29 -03:00
pages_domain_spec.rb
personal_access_token_spec.rb
programming_language_spec.rb Add repository languages for projects 2018-08-01 18:58:29 +02:00
project_authorization_spec.rb Resolve "Rename the Master role to Maintainer" Backend 2018-07-11 14:36:08 +00:00
project_auto_devops_spec.rb Merge remote-tracking branch 'origin/master' into 38542-application-control-panel-in-settings-page 2018-06-07 20:27:30 +02:00
project_ci_cd_setting_spec.rb
project_custom_attribute_spec.rb
project_deploy_token_spec.rb
project_feature_spec.rb Added SiteStatistics as counter cache for Projects and Wikis 2018-07-24 18:44:07 +02:00
project_group_link_spec.rb
project_import_state_spec.rb
project_label_spec.rb
project_snippet_spec.rb
project_spec.rb Add repository languages for projects 2018-08-01 18:58:29 +02:00
project_statistics_spec.rb Update total storage size when changing size of artifacts 2018-07-27 17:21:41 +02:00
project_team_spec.rb Resolve "Rename the Master role to Maintainer" Backend 2018-07-11 14:36:08 +00:00
project_wiki_spec.rb Merge remote-tracking branch 'upstream/master' into 14995-custom_wiki_sidebar 2018-07-13 17:34:27 +08:00
protectable_dropdown_spec.rb
protected_branch_spec.rb
protected_tag_spec.rb
push_event_payload_spec.rb
push_event_spec.rb
redirect_route_spec.rb
release_spec.rb
remote_mirror_spec.rb Updates from rubocop -a 2018-07-09 21:13:08 +08:00
repository_language_spec.rb Add repository languages for projects 2018-08-01 18:58:29 +02:00
repository_spec.rb More Gitaly cleanup: fetch_ref, allow disk access blocks 2018-07-27 08:43:19 +00:00
resource_label_event_spec.rb Resource event model 2018-08-01 08:58:49 +00:00
route_spec.rb Updates from rubocop -a 2018-07-09 21:13:08 +08:00
sent_notification_spec.rb
service_spec.rb Updates from rubocop -a 2018-07-09 21:13:08 +08:00
site_statistic_spec.rb Added SiteStatistics as counter cache for Projects and Wikis 2018-07-24 18:44:07 +02:00
snippet_blob_spec.rb
snippet_spec.rb
spam_log_spec.rb Replace 'Sidekiq::Testing.inline!' with 'perform_enqueued_jobs' 2018-07-23 15:34:54 +11:00
subscription_spec.rb
system_note_metadata_spec.rb
term_agreement_spec.rb
timelog_spec.rb
todo_spec.rb Revert "Merge branch 'ee-5481-epic-todos' into 'master'" 2018-07-11 18:33:24 +02:00
tree_spec.rb
trending_project_spec.rb
upload_spec.rb
user_agent_detail_spec.rb
user_callout_spec.rb
user_custom_attribute_spec.rb
user_interacted_project_spec.rb
user_spec.rb Merge branch 'bvl-user-status-message-35463' into 'master' 2018-08-01 15:21:24 +00:00
user_status_spec.rb Allow users to set a status 2018-07-30 15:01:26 +02:00
wiki_directory_spec.rb
wiki_page_spec.rb Simplify WikiPage#hook_attrs spec 2018-07-17 10:38:09 +01:00