gitlab-org--gitlab-foss/spec/lib/gitlab/import_export
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
..
after_export_strategies Update Import/Export to use object storage (based on aa feature flag) 2018-07-06 15:46:18 +02:00
after_export_strategy_builder_spec.rb
all_models.yml Add repository languages for projects 2018-08-01 18:58:29 +02:00
attribute_cleaner_spec.rb
attribute_configuration_spec.rb
avatar_restorer_spec.rb
avatar_saver_spec.rb added changelog, small refactor 2018-07-11 15:02:59 +02:00
file_importer_spec.rb Fix symlink vulnerability in project import 2018-07-17 10:30:52 +02:00
fork_spec.rb
group_project_object_builder_spec.rb update code based on feedback 2018-06-27 11:53:51 +02:00
hash_util_spec.rb
import_export_spec.rb
importer_spec.rb Add pipeline stages position clean-up migration 2018-06-29 13:57:52 +00:00
lfs_restorer_spec.rb
lfs_saver_spec.rb
members_mapper_spec.rb Resolve "Rename the Master role to Maintainer" Backend 2018-07-11 14:36:08 +00:00
merge_request_parser_spec.rb Find and mark more Git disk access locations, part 2 2018-06-12 14:33:37 +02:00
model_configuration_spec.rb
project.group.json
project.json
project.light.json refactor code once again to fix IID issues 2018-06-20 16:18:40 +02:00
project.milestone-iid.json add more specs and refactor more relation factory code 2018-06-22 09:48:44 +02:00
project_tree_restorer_spec.rb More Gitaly cleanup: fetch_ref, allow disk access blocks 2018-07-27 08:43:19 +00:00
project_tree_saver_spec.rb Resolve "Rename the Master role to Maintainer" Backend 2018-07-11 14:36:08 +00:00
reader_spec.rb
relation_factory_spec.rb
repo_restorer_spec.rb Moves another RPC to mandatory 2018-06-25 15:55:22 +02:00
repo_saver_spec.rb Resolve "Rename the Master role to Maintainer" Backend 2018-07-11 14:36:08 +00:00
safe_model_attributes.yml Revert rename allow collaboration column 2018-06-08 13:12:51 +00:00
saver_spec.rb Update Import/Export to use object storage (based on aa feature flag) 2018-07-06 15:46:18 +02:00
uploads_manager_spec.rb use fileuploader dynamic path method in uploads manager and add spec 2018-07-13 16:13:13 +02:00
uploads_restorer_spec.rb
uploads_saver_spec.rb update saver spec to use the old uploads code 2018-07-12 12:53:57 +02:00
version_checker_spec.rb
wiki_repo_saver_spec.rb Resolve "Rename the Master role to Maintainer" Backend 2018-07-11 14:36:08 +00:00
wiki_restorer_spec.rb