diff --git a/.rubocop.yml b/.rubocop.yml index 3ad7255732b..cb70ff168be 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -276,6 +276,11 @@ Rails/InverseOf: Rails/UniqueValidationWithoutIndex: Enabled: false +Rails/HasManyOrHasOneDependent: + Include: + - app/models/**/*.rb + - ee/app/models/**/*.rb + Rails/HelperInstanceVariable: Include: - app/helpers/**/*.rb diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 88694e05229..72ce67b08da 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,17 +1,7 @@ -# This configuration was generated by -# `rubocop --auto-gen-config` -# on 2021-02-24 14:52:20 UTC using RuboCop version 0.93.1. -# The point is for the user to remove these configuration records -# one by one as the offenses are removed from the code base. -# Note that changes in the inspected code, or installation of new -# versions of RuboCop, may require this file to be generated again. - -# Configuration parameters: Include. -# Include: app/models/**/*.rb -Rails/HasManyOrHasOneDependent: - Enabled: false - -# Offense count: 42 -# Cop supports --auto-correct. -Style/CaseLikeIf: - Enabled: false +# This configuration is no longer used. +# +# The RuboCop TODO lists are located in `.rubocop_todo/**/*.yml`. +# +# Please use `rake rubocop:todo:generate` to generate TODOs. +# +# See https://docs.gitlab.com/ee/development/rake_tasks.html#generate-initial-rubocop-todo-list diff --git a/.rubocop_todo/gitlab/namespaced_class.yml b/.rubocop_todo/gitlab/namespaced_class.yml index a92520bbe30..0f974bc5002 100644 --- a/.rubocop_todo/gitlab/namespaced_class.yml +++ b/.rubocop_todo/gitlab/namespaced_class.yml @@ -773,7 +773,6 @@ Gitlab/NamespacedClass: - 'app/workers/emails_on_push_worker.rb' - 'app/workers/error_tracking_issue_link_worker.rb' - 'app/workers/expire_build_artifacts_worker.rb' - - 'app/workers/expire_build_instance_artifacts_worker.rb' - 'app/workers/expire_job_cache_worker.rb' - 'app/workers/expire_pipeline_cache_worker.rb' - 'app/workers/export_csv_worker.rb' diff --git a/.rubocop_todo/rails/has_many_or_has_one_dependent.yml b/.rubocop_todo/rails/has_many_or_has_one_dependent.yml new file mode 100644 index 00000000000..92ba718bfff --- /dev/null +++ b/.rubocop_todo/rails/has_many_or_has_one_dependent.yml @@ -0,0 +1,154 @@ +--- +Rails/HasManyOrHasOneDependent: + # Offense count: 593 + # Temporarily disabled due to too many offenses + Enabled: false + Exclude: + - 'app/models/alert_management/alert.rb' + - 'app/models/analytics/cycle_analytics/project_value_stream.rb' + - 'app/models/analytics/cycle_analytics/stage_event_hash.rb' + - 'app/models/application_setting/term.rb' + - 'app/models/bulk_import.rb' + - 'app/models/bulk_imports/entity.rb' + - 'app/models/bulk_imports/export.rb' + - 'app/models/ci/bridge.rb' + - 'app/models/ci/build.rb' + - 'app/models/ci/pipeline.rb' + - 'app/models/ci/pipeline_schedule.rb' + - 'app/models/ci/processable.rb' + - 'app/models/ci/ref.rb' + - 'app/models/ci/resource_group.rb' + - 'app/models/ci/runner.rb' + - 'app/models/ci/stage.rb' + - 'app/models/ci/trigger.rb' + - 'app/models/ci/trigger_request.rb' + - 'app/models/ci/unit_test.rb' + - 'app/models/clusters/agent.rb' + - 'app/models/clusters/applications/knative.rb' + - 'app/models/clusters/cluster.rb' + - 'app/models/clusters/project.rb' + - 'app/models/commit_status.rb' + - 'app/models/concerns/ci/metadatable.rb' + - 'app/models/concerns/integrations/has_data_fields.rb' + - 'app/models/concerns/issuable.rb' + - 'app/models/concerns/label_eventable.rb' + - 'app/models/concerns/milestone_eventable.rb' + - 'app/models/concerns/packages/debian/distribution.rb' + - 'app/models/concerns/protected_ref.rb' + - 'app/models/concerns/state_eventable.rb' + - 'app/models/concerns/timebox.rb' + - 'app/models/concerns/versioned_description.rb' + - 'app/models/concerns/with_uploads.rb' + - 'app/models/customer_relations/contact.rb' + - 'app/models/deploy_key.rb' + - 'app/models/deploy_token.rb' + - 'app/models/deployment.rb' + - 'app/models/design_management/design.rb' + - 'app/models/design_management/version.rb' + - 'app/models/environment.rb' + - 'app/models/error_tracking/error.rb' + - 'app/models/event.rb' + - 'app/models/experiment.rb' + - 'app/models/fork_network.rb' + - 'app/models/gpg_key.rb' + - 'app/models/group.rb' + - 'app/models/hooks/web_hook.rb' + - 'app/models/integration.rb' + - 'app/models/issue.rb' + - 'app/models/jira_connect_installation.rb' + - 'app/models/label.rb' + - 'app/models/lfs_object.rb' + - 'app/models/list.rb' + - 'app/models/member.rb' + - 'app/models/merge_request.rb' + - 'app/models/merge_request_context_commit.rb' + - 'app/models/milestone.rb' + - 'app/models/namespace.rb' + - 'app/models/namespaces/project_namespace.rb' + - 'app/models/note.rb' + - 'app/models/operations/feature_flag.rb' + - 'app/models/operations/feature_flags/strategy.rb' + - 'app/models/operations/feature_flags/user_list.rb' + - 'app/models/packages/debian/project_distribution.rb' + - 'app/models/packages/dependency.rb' + - 'app/models/packages/dependency_link.rb' + - 'app/models/packages/package.rb' + - 'app/models/packages/package_file.rb' + - 'app/models/pages_domain.rb' + - 'app/models/plan.rb' + - 'app/models/pool_repository.rb' + - 'app/models/project.rb' + - 'app/models/projects/topic.rb' + - 'app/models/prometheus_alert.rb' + - 'app/models/prometheus_metric.rb' + - 'app/models/release.rb' + - 'app/models/snippet.rb' + - 'app/models/terraform/state.rb' + - 'app/models/user.rb' + - 'app/models/wiki_page/meta.rb' + - 'app/models/work_items/type.rb' + - 'app/models/x509_certificate.rb' + - 'app/models/x509_issuer.rb' + - 'ee/app/models/analytics/devops_adoption/enabled_namespace.rb' + - 'ee/app/models/analytics/devops_adoption/snapshot.rb' + - 'ee/app/models/approval_merge_request_rule.rb' + - 'ee/app/models/approval_project_rule.rb' + - 'ee/app/models/boards/epic_board.rb' + - 'ee/app/models/boards/epic_list.rb' + - 'ee/app/models/compliance_management/framework.rb' + - 'ee/app/models/concerns/ee/iteration_eventable.rb' + - 'ee/app/models/concerns/ee/protected_branch.rb' + - 'ee/app/models/concerns/ee/protected_ref.rb' + - 'ee/app/models/concerns/ee/weight_eventable.rb' + - 'ee/app/models/concerns/geo/eventable.rb' + - 'ee/app/models/concerns/issue_widgets/acts_like_requirement.rb' + - 'ee/app/models/concerns/security/scan_execution_policy.rb' + - 'ee/app/models/dast/profile.rb' + - 'ee/app/models/dast_site.rb' + - 'ee/app/models/dast_site_profile.rb' + - 'ee/app/models/dast_site_validation.rb' + - 'ee/app/models/ee/alert_management/alert.rb' + - 'ee/app/models/ee/analytics/cycle_analytics/stage_event_hash.rb' + - 'ee/app/models/ee/board.rb' + - 'ee/app/models/ee/ci/build.rb' + - 'ee/app/models/ee/ci/job_artifact.rb' + - 'ee/app/models/ee/ci/pipeline.rb' + - 'ee/app/models/ee/deployment.rb' + - 'ee/app/models/ee/environment.rb' + - 'ee/app/models/ee/epic.rb' + - 'ee/app/models/ee/group.rb' + - 'ee/app/models/ee/issue.rb' + - 'ee/app/models/ee/iteration.rb' + - 'ee/app/models/ee/label.rb' + - 'ee/app/models/ee/lfs_object.rb' + - 'ee/app/models/ee/merge_request.rb' + - 'ee/app/models/ee/merge_request_diff.rb' + - 'ee/app/models/ee/milestone.rb' + - 'ee/app/models/ee/namespace.rb' + - 'ee/app/models/ee/pages_deployment.rb' + - 'ee/app/models/ee/plan.rb' + - 'ee/app/models/ee/project.rb' + - 'ee/app/models/ee/upload.rb' + - 'ee/app/models/ee/user.rb' + - 'ee/app/models/ee/vulnerability.rb' + - 'ee/app/models/elastic/reindexing_subtask.rb' + - 'ee/app/models/elastic/reindexing_task.rb' + - 'ee/app/models/geo/event.rb' + - 'ee/app/models/geo_node.rb' + - 'ee/app/models/incident_management/escalation_policy.rb' + - 'ee/app/models/incident_management/oncall_participant.rb' + - 'ee/app/models/incident_management/oncall_rotation.rb' + - 'ee/app/models/incident_management/oncall_schedule.rb' + - 'ee/app/models/integrations/gitlab_slack_application.rb' + - 'ee/app/models/iterations/cadence.rb' + - 'ee/app/models/protected_environment.rb' + - 'ee/app/models/protected_environments/approval_rule.rb' + - 'ee/app/models/push_rule.rb' + - 'ee/app/models/saml_provider.rb' + - 'ee/app/models/security/finding.rb' + - 'ee/app/models/security/scan.rb' + - 'ee/app/models/security/training_provider.rb' + - 'ee/app/models/vulnerabilities/finding.rb' + - 'ee/app/models/vulnerabilities/identifier.rb' + - 'ee/app/models/vulnerabilities/remediation.rb' + - 'ee/app/models/vulnerabilities/scanner.rb' diff --git a/.rubocop_todo/style/case_like_if.yml b/.rubocop_todo/style/case_like_if.yml new file mode 100644 index 00000000000..f1e349fe836 --- /dev/null +++ b/.rubocop_todo/style/case_like_if.yml @@ -0,0 +1,63 @@ +--- +# Cop supports --auto-correct. +Style/CaseLikeIf: + # Offense count: 60 + # Temporarily disabled due to too many offenses + Enabled: false + Exclude: + - 'app/controllers/concerns/issuable_actions.rb' + - 'app/controllers/groups/dependency_proxy/application_controller.rb' + - 'app/controllers/projects/labels_controller.rb' + - 'app/graphql/types/ci/job_need_union.rb' + - 'app/helpers/avatars_helper.rb' + - 'app/helpers/broadcast_messages_helper.rb' + - 'app/helpers/issues_helper.rb' + - 'app/helpers/routing/pseudonymization_helper.rb' + - 'app/models/integrations/jira.rb' + - 'app/models/members/member_task.rb' + - 'app/models/namespace.rb' + - 'app/models/packages/go/module_version.rb' + - 'app/serializers/group_child_serializer.rb' + - 'app/services/google_cloud/generate_pipeline_service.rb' + - 'app/services/issuable/bulk_update_service.rb' + - 'app/services/todo_service.rb' + - 'ee/app/controllers/concerns/credentials_inventory_actions.rb' + - 'ee/app/finders/ee/notes_finder.rb' + - 'ee/app/helpers/ee/branches_helper.rb' + - 'ee/app/helpers/ee/namespace_storage_limit_alert_helper.rb' + - 'ee/app/services/epics/tree_reorder_service.rb' + - 'ee/app/services/merge_request_approval_settings/update_service.rb' + - 'ee/lib/gitlab/alert_management/alert_payload_field_extractor.rb' + - 'ee/spec/config/metrics/every_metric_definition_spec.rb' + - 'ee/spec/features/boards/user_adds_lists_to_board_spec.rb' + - 'ee/spec/features/issues/user_bulk_edits_issues_spec.rb' + - 'ee/spec/features/projects/custom_projects_template_spec.rb' + - 'ee/spec/support/matchers/ee/epic_aggregate_matchers.rb' + - 'lib/api/helpers/label_helpers.rb' + - 'lib/gitlab/analytics/unique_visits.rb' + - 'lib/gitlab/ci/ansi2html.rb' + - 'lib/gitlab/ci/ansi2json/converter.rb' + - 'lib/gitlab/ci/build/image.rb' + - 'lib/gitlab/identifier.rb' + - 'lib/gitlab/issues/rebalancing/state.rb' + - 'lib/gitlab/pagination/gitaly_keyset_pager.rb' + - 'lib/gitlab/utils.rb' + - 'lib/gitlab/utils/strong_memoize.rb' + - 'qa/qa/git/repository.rb' + - 'qa/qa/scenario/bootable.rb' + - 'rubocop/cop/gitlab/keys_first_and_values_first.rb' + - 'spec/features/boards/user_adds_lists_to_board_spec.rb' + - 'spec/lib/gitlab/auth/auth_finders_spec.rb' + - 'spec/lib/gitlab/database/load_balancing_spec.rb' + - 'spec/lib/omni_auth/strategies/jwt_spec.rb' + - 'spec/models/concerns/sha_attribute_spec.rb' + - 'spec/models/preloaders/labels_preloader_spec.rb' + - 'spec/requests/api/rubygem_packages_spec.rb' + - 'spec/requests/api/terraform/modules/v1/packages_spec.rb' + - 'spec/services/resource_events/change_state_service_spec.rb' + - 'spec/support/helpers/filter_spec_helper.rb' + - 'spec/support/matchers/abort_matcher.rb' + - 'spec/support/shared_examples/metrics/active_record_subscriber_shared_examples.rb' + - 'spec/support/shared_examples/requests/api/notes_shared_examples.rb' + - 'spec/support/shared_examples/uploaders/object_storage_shared_examples.rb' + - 'spec/workers/loose_foreign_keys/cleanup_worker_spec.rb' diff --git a/app/assets/javascripts/diffs/components/diff_file_header.vue b/app/assets/javascripts/diffs/components/diff_file_header.vue index 260896ccb90..a75262ee303 100644 --- a/app/assets/javascripts/diffs/components/diff_file_header.vue +++ b/app/assets/javascripts/diffs/components/diff_file_header.vue @@ -302,6 +302,7 @@ export default { @click="handleFileNameClick" >