summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md180
-rw-r--r--GITALY_SERVER_VERSION2
-rw-r--r--app/assets/javascripts/awards_handler.js44
-rw-r--r--app/assets/javascripts/pipelines/components/pipelines_actions.vue3
-rw-r--r--app/assets/javascripts/pipelines/components/pipelines_artifacts.vue6
-rw-r--r--app/assets/javascripts/vue_shared/components/table_pagination.vue10
-rw-r--r--app/assets/stylesheets/framework/awards.scss5
-rw-r--r--app/helpers/groups_helper.rb2
-rw-r--r--app/helpers/sorting_helper.rb54
-rw-r--r--app/models/repository.rb1
-rw-r--r--app/views/projects/branches/_branch.html.haml33
-rw-r--r--app/views/projects/branches/_delete_protected_modal.html.haml34
-rw-r--r--app/views/projects/branches/index.html.haml24
-rw-r--r--app/views/projects/buttons/_download.html.haml5
-rw-r--r--app/views/projects/buttons/_dropdown.html.haml8
-rw-r--r--app/views/projects/tree/_old_tree_header.html.haml8
-rw-r--r--app/views/shared/boards/_show.html.haml15
-rw-r--r--changelogs/unreleased/12968-generalize-profile-updates.yml4
-rw-r--r--changelogs/unreleased/13325-bugfix-silence-on-disabled-notifications.yml6
-rw-r--r--changelogs/unreleased/17849-allow-admin-to-restrict-min-key-length-and-techno.yml5
-rw-r--r--changelogs/unreleased/19650-remove-admin-section-from-search-results-if-user-doesnt-have-access.yml5
-rw-r--r--changelogs/unreleased/21949-add-type-to-changelog.yml4
-rw-r--r--changelogs/unreleased/23079-remove-default-scope-in-sortable.yml5
-rw-r--r--changelogs/unreleased/26692-predefined-variable-gitlab-user-name.yml5
-rw-r--r--changelogs/unreleased/28202_decrease_abc_threshold_step3.yml5
-rw-r--r--changelogs/unreleased/28283-uuid-storage.yml4
-rw-r--r--changelogs/unreleased/28453-add-time-estimate-time-spent-to-api-issue-output.yml4
-rw-r--r--changelogs/unreleased/28938-password-change-workflow-for-admins.yml5
-rw-r--r--changelogs/unreleased/29811-fix-line-number-alignment.yml4
-rw-r--r--changelogs/unreleased/30162-retire-koding-integration.yml4
-rw-r--r--changelogs/unreleased/31273-creating-an-project-within-an-internal-sub-group-gives-the-option-to-set-it-a-public.yml6
-rw-r--r--changelogs/unreleased/31362_decrease_cyclomatic_complexity_threshold_step3.yml5
-rw-r--r--changelogs/unreleased/31409-fix-group-and-project-search-for-anonymous-users.yml5
-rw-r--r--changelogs/unreleased/31470-fix-api-files-raw.yml5
-rw-r--r--changelogs/unreleased/32665-refactor-project-visibility-settings.yml5
-rw-r--r--changelogs/unreleased/33287-fix-mr-widget-errors-with-external-services.yml5
-rw-r--r--changelogs/unreleased/33328-usage-ping-for-gitlab-features-and-components.yml5
-rw-r--r--changelogs/unreleased/34049-public-commits-should-not-require-authentication.yml4
-rw-r--r--changelogs/unreleased/34261-move-move-to-sidebar.yml5
-rw-r--r--changelogs/unreleased/34371-pipeline-schedule-vue-files.yml6
-rw-r--r--changelogs/unreleased/34413-move-convdev-index-location-to-after-cohorts.yml4
-rw-r--r--changelogs/unreleased/34509-improves-markdown-rendering-performance-for-commits-list.yml5
-rw-r--r--changelogs/unreleased/34643-fix-project-path-slugify.yml4
-rw-r--r--changelogs/unreleased/34945-readme-div-id.yml5
-rw-r--r--changelogs/unreleased/34990-top-buttons-misaligned.yml5
-rw-r--r--changelogs/unreleased/35010-projects-nav-dropdown.yml5
-rw-r--r--changelogs/unreleased/35010-remove-goto-project-from-breadcrumb.yml5
-rw-r--r--changelogs/unreleased/35012-navigation-add-option-to-change-navigation-color-palette.yml5
-rw-r--r--changelogs/unreleased/35048-empty-badges.yml5
-rw-r--r--changelogs/unreleased/35161_first_time_contributor_badge.yml4
-rw-r--r--changelogs/unreleased/35343-inherit-milestones-and-labels.yml5
-rw-r--r--changelogs/unreleased/35686-unescape-wiki-title.yml5
-rw-r--r--changelogs/unreleased/35721-auth-style-confirmation.yml5
-rw-r--r--changelogs/unreleased/35793_fix_predicate_names.yml5
-rw-r--r--changelogs/unreleased/35811-copy-link-note.yml5
-rw-r--r--changelogs/unreleased/35845-improve-subgroup-creation-permissions.yml5
-rw-r--r--changelogs/unreleased/35978-milestone-title.yml5
-rw-r--r--changelogs/unreleased/35994-archived-projects-only.yml5
-rw-r--r--changelogs/unreleased/36010-api-v4-allows-setting-a-branch-that-doesn-t-exist-as-the-default-one.yml4
-rw-r--r--changelogs/unreleased/36041-notification-title.yml4
-rw-r--r--changelogs/unreleased/36087-users-cannot-delete-their-account.yml5
-rw-r--r--changelogs/unreleased/36114-stuck-mrs-job-follow-up.yml4
-rw-r--r--changelogs/unreleased/36119-issuable-workers.yml4
-rw-r--r--changelogs/unreleased/36213-return-is_admin-in-users-api-when-current_user-is-admin.yml6
-rw-r--r--changelogs/unreleased/36262_merge_request_reference_in_merge_commit_global.yml5
-rw-r--r--changelogs/unreleased/36385-pipeline-graph-dropdown.yml5
-rw-r--r--changelogs/unreleased/36611-error-in-getcomposer-link.yml5
-rw-r--r--changelogs/unreleased/36792-inline-user-refresh-when-creating-project.yml5
-rw-r--r--changelogs/unreleased/36807-gc-unwanted-refs-after-import.yml5
-rw-r--r--changelogs/unreleased/36859-update-gpg-docs-with-gpg2.yml5
-rw-r--r--changelogs/unreleased/36860-migrate-issues-author.yml5
-rw-r--r--changelogs/unreleased/36917-branch-tooltip.yml5
-rw-r--r--changelogs/unreleased/36937-fix-invite-by-email-text.yml5
-rw-r--r--changelogs/unreleased/36939-fix-find-blobs-by-path.yml5
-rw-r--r--changelogs/unreleased/36994-toggle-for-automatically-collapsing-outdated-diff-comments.yml5
-rw-r--r--changelogs/unreleased/37023-remove-focus-styles-from-dropdown-empty-link.yml5
-rw-r--r--changelogs/unreleased/37104-fix-graph-date-format.yml5
-rw-r--r--changelogs/unreleased/37147-fix-fallback-emoji-alignment.yml5
-rw-r--r--changelogs/unreleased/37158-autodevops-banner.yml5
-rw-r--r--changelogs/unreleased/37179-dashboard-project-dropdown.yml5
-rw-r--r--changelogs/unreleased/37198-api-doesn-t-respect-default-group-visibility.yml5
-rw-r--r--changelogs/unreleased/37204-deprecate-git-user-manual-ssh-config.yml5
-rw-r--r--changelogs/unreleased/37259-some-mr-ready-mobile-fixes.yml5
-rw-r--r--changelogs/unreleased/37368-blob-viewer-on-mobile.yml5
-rw-r--r--changelogs/unreleased/37465-fix-line-resolve-all-green-checkmark-icon.yml6
-rw-r--r--changelogs/unreleased/37499-add-description-template-examples-to-the-docs.yml5
-rw-r--r--changelogs/unreleased/37576-renamed-files-have-escaped-html-for-the-inline-diff-in-the-header.yml5
-rw-r--r--changelogs/unreleased/37590-pipelines-mr.yml5
-rw-r--r--changelogs/unreleased/37629-lazy-image-loading-breaks-notification-mails-for-an-added-screenshot.yml5
-rw-r--r--changelogs/unreleased/37730-image-onion-skin-does-not-work-anymore.yml5
-rw-r--r--changelogs/unreleased/37759-also-treat-newlines-as-separator.yml5
-rw-r--r--changelogs/unreleased/37890-auto-devops-banner-is-not-shown-when-the-repository-is-empty-new-project.yml5
-rw-r--r--changelogs/unreleased/37894-handle-if-auto-devops-domain-is-not-set.yml5
-rw-r--r--changelogs/unreleased/38049-fix-resolve-in-new-issue-btn.yml5
-rw-r--r--changelogs/unreleased/38197-fix-ImapAuthenticationCheck.yml5
-rw-r--r--changelogs/unreleased/38234-reserve-refs-replace.yml5
-rw-r--r--changelogs/unreleased/add-filter-by-my-reaction.yml4
-rw-r--r--changelogs/unreleased/add_message_to_the_404_page.yml5
-rw-r--r--changelogs/unreleased/add_quick_submission_on_user_settings_page.yml5
-rw-r--r--changelogs/unreleased/additional-time-series-charts.yml5
-rw-r--r--changelogs/unreleased/api-delete-respect-headers.yml5
-rw-r--r--changelogs/unreleased/api-gpg-key-management.yml5
-rw-r--r--changelogs/unreleased/api_branches_head.yml5
-rw-r--r--changelogs/unreleased/backstage-gb-after-save-asynchronous-job-hooks.yml5
-rw-r--r--changelogs/unreleased/bump-omniauth-ldap-gem-version-2-0-4.yml4
-rw-r--r--changelogs/unreleased/bvl-improve-bare-project-import.yml6
-rw-r--r--changelogs/unreleased/bvl-validate-po-files.yml4
-rw-r--r--changelogs/unreleased/cache-issue-and-mr-counts.yml5
-rw-r--r--changelogs/unreleased/changes-tab-jumping.yml5
-rw-r--r--changelogs/unreleased/ci-environment-status-performance.yml5
-rw-r--r--changelogs/unreleased/collapsable-pipeline-settings.yml5
-rw-r--r--changelogs/unreleased/conv-dev-index-regression.yml5
-rw-r--r--changelogs/unreleased/dashboards-projects-controller.yml5
-rw-r--r--changelogs/unreleased/detect-orphaned-repositories.yml5
-rw-r--r--changelogs/unreleased/disable-project-export.yml4
-rw-r--r--changelogs/unreleased/disallow-null-values-for-environments-project-id.yml5
-rw-r--r--changelogs/unreleased/do-not-perform-disk-check.yml5
-rw-r--r--changelogs/unreleased/docs-document-version-for-group-milestones-api.yml5
-rw-r--r--changelogs/unreleased/docs-fix-15669-issue-move-api.yml5
-rw-r--r--changelogs/unreleased/docs-update-ci-docker-using-docker-images.yml5
-rw-r--r--changelogs/unreleased/dont-remove-add-diff-btn-on-post.yml5
-rw-r--r--changelogs/unreleased/ee-add-project-repository-storages-index.yml5
-rw-r--r--changelogs/unreleased/events-migration-cleanup.yml5
-rw-r--r--changelogs/unreleased/events-redundant-where.yml5
-rw-r--r--changelogs/unreleased/feature-dependency-status-badge.yml5
-rw-r--r--changelogs/unreleased/feature-gb-download-single-job-artifact-using-api.yml5
-rw-r--r--changelogs/unreleased/feature-gb-kubernetes-only-pipeline-jobs.yml5
-rw-r--r--changelogs/unreleased/feature-plantuml-restructured-text.yml5
-rw-r--r--changelogs/unreleased/feature-sm-33281-protected-runner-executes-jobs-on-protected-branch.yml5
-rw-r--r--changelogs/unreleased/feature-sm-34518-extend-api-pipeline-schedule-variable-new.yml5
-rw-r--r--changelogs/unreleased/feature-sm-37239-implement-failure_reason-on-ci_builds.yml5
-rw-r--r--changelogs/unreleased/fix-btn-alignment.yml5
-rw-r--r--changelogs/unreleased/fix-edit-merge-request-button-case.yml5
-rw-r--r--changelogs/unreleased/fix-gb-fix-moving-issue-with-ambiguous-references.yml5
-rw-r--r--changelogs/unreleased/fix-import-export-performance.yml5
-rw-r--r--changelogs/unreleased/fix-import-fork-mr.yml5
-rw-r--r--changelogs/unreleased/fix-npm-security-updates.yml5
-rw-r--r--changelogs/unreleased/fix-stray-or-in-project-create-ui.yml5
-rw-r--r--changelogs/unreleased/fix_typo_in_deploy_keys_docs.yml5
-rw-r--r--changelogs/unreleased/fix_wiki_toc_indent.yml5
-rw-r--r--changelogs/unreleased/font-weight-adjusted.yml5
-rw-r--r--changelogs/unreleased/fuzzy-issue-search.yml5
-rw-r--r--changelogs/unreleased/gitaly-feature-toggles-development-opt-out.yml5
-rw-r--r--changelogs/unreleased/gitaly-post-upload-pack-mandatory.yml5
-rw-r--r--changelogs/unreleased/gitaly_ref_exists.yml4
-rw-r--r--changelogs/unreleased/group-mr-search-bar.yml5
-rw-r--r--changelogs/unreleased/improve-autocomplete-user-performance.yml5
-rw-r--r--changelogs/unreleased/improve-share-locking-feature-for-subgroups.yml6
-rw-r--r--changelogs/unreleased/issue-api-my-reaction.yml5
-rw-r--r--changelogs/unreleased/issue-boards-breadcrumbs-container.yml5
-rw-r--r--changelogs/unreleased/memoize-the-latest-builds-of-a-pipeline.yml5
-rw-r--r--changelogs/unreleased/mk-default-ldap-verify-certificates-secure.yml5
-rw-r--r--changelogs/unreleased/move-action.yml4
-rw-r--r--changelogs/unreleased/mr-index-page-performance.yml5
-rw-r--r--changelogs/unreleased/projects-controller-show.yml5
-rw-r--r--changelogs/unreleased/reoganize-deployment-indexes.yml5
-rw-r--r--changelogs/unreleased/replace_project_shortcuts-feature.yml5
-rw-r--r--changelogs/unreleased/replace_spinach_search_code-feature.yml5
-rw-r--r--changelogs/unreleased/replace_spinach_star-feature.yml5
-rw-r--r--changelogs/unreleased/replace_spinach_user_lookup-feature.yml5
-rw-r--r--changelogs/unreleased/rouge-2-2-0.yml5
-rw-r--r--changelogs/unreleased/rouge-2-2-1.yml5
-rw-r--r--changelogs/unreleased/seven-days-cycle-analytics.yml5
-rw-r--r--changelogs/unreleased/sh-add-grape-logging.yml5
-rw-r--r--changelogs/unreleased/sh-bump-jira-gem.yml5
-rw-r--r--changelogs/unreleased/sh-optimize-discussion-json.yml5
-rw-r--r--changelogs/unreleased/sh-project-feature-eager-load.yml5
-rw-r--r--changelogs/unreleased/sh-stop-loading-issue-discussions.yml5
-rw-r--r--changelogs/unreleased/sidebar-cache-updates.yml5
-rw-r--r--changelogs/unreleased/sm-cherry-pick-list-commits-in-message.yml5
-rw-r--r--changelogs/unreleased/support-additional-colors.yml5
-rw-r--r--changelogs/unreleased/tc-remove-nonexisting-namespace-pending-delete-projects.yml5
-rw-r--r--changelogs/unreleased/use_full_path_in_project_avatar_url_webhook.yml5
-rw-r--r--changelogs/unreleased/user-recent-push.yml5
-rw-r--r--changelogs/unreleased/wiki_api.yml5
-rw-r--r--changelogs/unreleased/winh-dropdown-changelog-docs.yml5
-rw-r--r--changelogs/unreleased/zj-add-pipeline-source-variable.yml5
-rw-r--r--changelogs/unreleased/zj-auto-devops-banner.yml6
-rw-r--r--changelogs/unreleased/zj-auto-devops-table.yml5
-rw-r--r--changelogs/unreleased/zj-disable-pages-in-subgroups.yml5
-rw-r--r--changelogs/unreleased/zj-feature-flipper-disable-banner.yml5
-rw-r--r--changelogs/unreleased/zj-remove-ci-api-v1.yml5
-rw-r--r--changelogs/unreleased/zj-reword-job-to-pipeline-chart-view.yml5
-rw-r--r--changelogs/unreleased/zj-sort-templates.yml5
-rw-r--r--changelogs/unreleased/zj-update-rails-template.yml5
-rw-r--r--changelogs/unreleased/zj-upgrade-grape.yml5
-rw-r--r--changelogs/unreleased/zj-usage-data-auto-devops.yml5
-rw-r--r--db/migrate/20170921115009_add_project_repository_storage_index.rb19
-rw-r--r--db/schema.rb3
-rw-r--r--doc/development/ux_guide/basics.md2
-rw-r--r--doc/install/kubernetes/gitlab_omnibus.md18
-rw-r--r--doc/user/markdown.md24
-rw-r--r--features/project/shortcuts.feature63
-rw-r--r--features/steps/project/project_shortcuts.rb42
-rw-r--r--lib/gitlab/data_builder/push.rb7
-rw-r--r--lib/gitlab/diff/file.rb4
-rw-r--r--lib/gitlab/git/blob.rb2
-rw-r--r--lib/gitlab/git/diff.rb4
-rw-r--r--lib/gitlab/git/repository.rb10
-rw-r--r--lib/gitlab/gitaly_client/commit_service.rb57
-rw-r--r--lib/gitlab/usage_data.rb46
-rw-r--r--lib/system_check/incoming_email/imap_authentication_check.rb45
-rw-r--r--locale/gitlab.pot169
-rw-r--r--spec/features/projects/shortcuts_spec.rb21
-rw-r--r--spec/features/projects/user_uses_shortcuts_spec.rb108
-rw-r--r--spec/javascripts/pipelines/pipelines_artifacts_spec.js2
-rw-r--r--spec/lib/gitlab/git/blob_spec.rb3
-rw-r--r--spec/lib/gitlab/usage_data_spec.rb36
-rw-r--r--spec/services/keys/last_used_service_spec.rb7
-rw-r--r--spec/support/matchers/navigation_matcher.rb6
210 files changed, 775 insertions, 1195 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5d3cd42a95d..838a0a9bde9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,186 @@
documentation](doc/development/changelog.md) for instructions on adding your own
entry.
+## 10.0.0 (2017-09-22)
+
+- [SECURITY] Upgrade brace-expansion NPM package due to security issue. !13665 (Markus Koller)
+- [REMOVED] Remove CI API v1.
+- [FIXED] Ensure correct visibility level options shown on all Project, Group, and Snippets forms. !13442
+- [FIXED] Fix the /projects/:id/repository/files/:file_path/raw endpoint to handle dots in the file_path. !13512 (mahcsig)
+- [FIXED] Merge request reference in merge commit changed to full reference. !13518 (haseebeqx)
+- [FIXED] Removes Sortable default scope. !13558
+- [FIXED] Wiki table of contents are now properly nested to reflect header level. !13650 (Akihiro Nakashima)
+- [FIXED] Improve bare project import: Allow subgroups, take default visibility level into account. !13670
+- [FIXED] Fix group and project search for anonymous users. !13745
+- [FIXED] Fix searching for files by path. !13798
+- [FIXED] Fix division by zero error in blame age mapping. !13803 (Jeff Stubler)
+- [FIXED] Fix incorrect date/time formatting on prometheus graphs. !13865
+- [FIXED] Changes the password change workflow for admins. !13901
+- [FIXED] API: Respect default group visibility when creating a group. !13903 (Robert Schilling)
+- [FIXED] Unescape HTML characters in Wiki title. !13942 (Jacopo Beschi @jacopo-beschi)
+- [FIXED] Make blob viewer for rich contents wider for mobile. !14011 (Takuya Noguchi)
+- [FIXED] Fix typo in the API Deploy Keys documentation page. !14014 (Vitaliy @blackst0ne Klachkov)
+- [FIXED] Hide admin link from default search results for non-admins. !14015
+- [FIXED] Fix problems sanitizing URLs with empty passwords. !14083
+- [FIXED] Fix stray OR in New Project page. !14096 (Robin Bobbitt)
+- [FIXED] Fix a wrong `X-Gitlab-Event` header when testing webhooks. !14108
+- [FIXED] Fix the diff file header from being html escaped for renamed files. !14121
+- [FIXED] Image attachments are properly displayed in notification emails again. !14161
+- [FIXED] Fixes the 500 errors caused by a race condition in GPG's tmp directory handling. !14194 (Alexis Reigel)
+- [FIXED] Fix MR ready to merge buttons/controls at mobile breakpoint. !14242
+- [FIXED] Fix Pipeline Triggers to show triggered label and predefined variables (e.g. CI_PIPELINE_TRIGGERED). !14244
+- [FIXED] Allow using newlines in pipeline email service recipients. !14250
+- [FIXED] Fix errors when moving issue with reference to a group milestone. !14294
+- [FIXED] Fix the "resolve discussion in a new issue" button. !14357
+- [FIXED] File uploaders do not perform hard check, only soft check.
+- [FIXED] Add to_project_id parameter to Move Issue via API example.
+- [FIXED] Update x/x discussions resolved checkmark icon to be green when all discussions resolved.
+- [FIXED] Fixed add diff note button not showing after deleting a comment.
+- [FIXED] Fix broken svg in jobs dropdown for success status.
+- [FIXED] Fix buttons with different height in merge request widget.
+- [FIXED] Removes disabled state from dashboard project button.
+- [FIXED] Better align fallback image emojis.
+- [FIXED] Remove focus styles from dropdown empty links.
+- [FIXED] Fix inconsistent spacing for edit buttons on issues and merge request page.
+- [FIXED] Fix edit merge request and issues button inconsistent letter casing.
+- [FIXED] Improve Import/Export memory usage.
+- [FIXED] Fix Import/Export issue to do with fork merge requests.
+- [FIXED] Fix invite by email address duplication.
+- [FIXED] Adds tooltip to the branch name and improves performance.
+- [FIXED] Disable GitLab Project Import Button if source disabled.
+- [FIXED] Migrate issues authored by deleted user to the Ghost user.
+- [FIXED] Fix new navigation wrapping and causing height to grow.
+- [FIXED] Normalize styles for empty state combo button.
+- [FIXED] Fix external link to Composer website.
+- [FIXED] Prevents jobs dropdown from closing in pipeline graph.
+- [FIXED] Include the `is_admin` field in the `GET /users/:id` API when current user is an admin.
+- [FIXED] Fix breadcrumbs container in issue boards.
+- [FIXED] Fix project feature being deleted when updating project with invalid visibility level.
+- [FIXED] Truncate milestone title if sidebar is collapsed.
+- [FIXED] Prevents rendering empty badges when request fails.
+- [FIXED] Fixes margins on the top buttons of the pipeline table.
+- [FIXED] Bump jira-ruby gem to 1.4.1 to fix issues with HTTP proxies.
+- [FIXED] Eliminate N+1 queries in loading discussions.json endpoint.
+- [FIXED] Eliminate N+1 queries referencing issues.
+- [FIXED] Remove unnecessary loading of discussions in `IssuesController#show`.
+- [FIXED] Fix errors thrown in merge request widget with external CI service/integration.
+- [FIXED] Do not show the Auto DevOps banner when the project has a .gitlab-ci.yml on master.
+- [FIXED] Reword job to pipeline to reflect what the graphs are really about.
+- [FIXED] Sort templates in the dropdown.
+- [FIXED] Fix Auto DevOps banner to be shown on empty projects.
+- [FIXED] Resolve Image onion skin + swipe does not work anymore.
+- [FIXED] Fix mini graph pipeline breakin in merge request view.
+- [FIXED] Fixed merge request changes bar jumping.
+- [FIXED] Improve migrations using triggers.
+- [FIXED] Fix ConvDev Index nav item and Monitoring submenu regression.
+- [DEPRECATED] Deprecate custom SSH client configuration for the git user. !13930
+- [CHANGED] allow all users to delete their account. !13636 (Jacopo Beschi @jacopo-beschi)
+- [CHANGED] Use full path of project's avatar in webhooks. !13649 (Vitaliy @blackst0ne Klachkov)
+- [CHANGED] Add filtered search to group merge requests dashboard. !13688 (Hiroyuki Sato)
+- [CHANGED] Fire hooks asynchronously when creating a new job to improve performance. !13734
+- [CHANGED] Improve performance for AutocompleteController#users.json. !13754 (Hiroyuki Sato)
+- [CHANGED] Update the GPG verification semantics: A GPG signature must additionally match the committer in order to be verified. !13771 (Alexis Reigel)
+- [CHANGED] Support a multi-word fuzzy seach issues/merge requests on search bar. !13780 (Hiroyuki Sato)
+- [CHANGED] Default LDAP config "verify_certificates" to true for security. !13915
+- [CHANGED] "Share with group lock" now applies to subgroups, but owner can override setting on subgroups. !13944
+- [CHANGED] Make Gitaly PostUploadPack mandatory. !13953
+- [CHANGED] Remove project select dropdown from breadcrumb. !14010
+- [CHANGED] Redesign project feature permissions settings. !14062
+- [CHANGED] Document version Group Milestones API introduced.
+- [CHANGED] Finish migration to the new events setup.
+- [CHANGED] restyling of OAuth authorization confirmation. (Jacopo Beschi @jacopo-beschi)
+- [CHANGED] Added support for specific labels and colors.
+- [CHANGED] Move "Move issue" controls to right-sidebar.
+- [CHANGED] Remove pages settings when not available.
+- [CHANGED] Allow all AutoDevOps banners to be turned off.
+- [CHANGED] Update Rails project template to use Postgresql by default.
+- [CHANGED] Added support the multiple time series for prometheus monitoring.
+- [ADDED] API: Respect the "If-Unmodified-Since" header when delting a resource. !9621 (Robert Schilling)
+- [ADDED] Protected runners. !13194
+- [ADDED] Add support for copying permalink to notes via more actions dropdown. !13299
+- [ADDED] Add API support for wiki pages. !13372 (Vitaliy @blackst0ne Klachkov)
+- [ADDED] Add a `Last 7 days` option for Cycle Analytics view. !13443 (Mehdi Lahmam (@mehlah))
+- [ADDED] inherits milestone and labels when a merge request is created from issue. !13461 (haseebeqx)
+- [ADDED] Add 'from commit' information to cherry-picked commits. !13475 (Saverio Miroddi)
+- [ADDED] Add an option to list only archived projects. !13492 (Mehdi Lahmam (@mehlah))
+- [ADDED] Extend API: Pipeline Schedule Variable. !13653
+- [ADDED] Add settings for minimum SSH key strength and allowed key type. !13712 (Cory Hinshaw)
+- [ADDED] Add div id to the readme in the project overview. !13735 (Riccardo Padovani @rpadovani)
+- [ADDED] Add CI/CD job predefined variables with user name and login. !13824
+- [ADDED] API: Add GPG key management. !13828 (Robert Schilling)
+- [ADDED] Add CI/CD active kubernetes job policy. !13849
+- [ADDED] Add dropdown to Projects nav item. !13866
+- [ADDED] Allow users and administrator to configure Auto-DevOps. !13923
+- [ADDED] Implement `failure_reason` on `ci_builds`. !13937
+- [ADDED] Add branch existence check to the APIv4 branches via HEAD request. !13979 (Vitaliy @blackst0ne Klachkov)
+- [ADDED] Add quick submission on user settings page. !14007 (Vitaliy @blackst0ne Klachkov)
+- [ADDED] Add my_reaction_emoji param to /issues and /merge_requests API. !14016 (Hiroyuki Sato)
+- [ADDED] Make it possible to download a single job artifact file using the API. !14027
+- [ADDED] Add repository toggle for automatically resolving outdated diff discussions. !14053 (AshleyDumaine)
+- [ADDED] Scripts to detect orphaned repositories. !14204
+- [ADDED] Created callout for auto devops.
+- [ADDED] Add option in preferences to change navigation theme color.
+- [ADDED] Add JSON logger in `log/api_json.log` for Grape API endpoints.
+- [ADDED] Add CI_PIPELINE_SOURCE variable on CI Jobs.
+- [ADDED] Changed message and title on the 404 page. (Branka Martinovic)
+- [ADDED] Handle if Auto DevOps domain is not set in project settings.
+- [ADDED] Add collapsable sections for Pipeline Settings.
+- [OTHER] Add badge for dependency status. !13588 (Markus Koller)
+- [OTHER] Migration to remove pending delete projects with non-existing namespace. !13598
+- [OTHER] Bump rouge to v2.2.0. !13633
+- [OTHER] Fix repository equality check and avoid fetching ref if the commit is already available. This affects merge request creation performance. !13685
+- [OTHER] Replace 'source/search_code.feature' spinach test with an rspec analog. !13697 (blackst0ne)
+- [OTHER] Remove unwanted refs after importing a project. !13766
+- [OTHER] Never wait for sidekiq jobs when creating projects. !13775
+- [OTHER] Gitaly feature toggles are on by default in development. !13802
+- [OTHER] Remove `is_` prefix from predicate method names. !13810 (Maxim Rydkin)
+- [OTHER] Update 'Using Docker images' documentation. !13848
+- [OTHER] Update gpg documentation with gpg2. !13851 (M M Arif)
+- [OTHER] Replace 'project/star.feature' spinach test with an rspec analog. !13855 (Vitaliy @blackst0ne Klachkov)
+- [OTHER] Replace 'project/user_lookup.feature' spinach test with an rspec analog. !13863 (Vitaliy @blackst0ne Klachkov)
+- [OTHER] Bump rouge to v2.2.1. !13887
+- [OTHER] Add documentation for PlantUML in reStructuredText. !13900 (Markus Koller)
+- [OTHER] Decrease ABC threshold to 55.25. !13904 (Maxim Rydkin)
+- [OTHER] Decrease Cyclomatic Complexity threshold to 14. !13972 (Maxim Rydkin)
+- [OTHER] Update documentation for confidential issue. !14117
+- [OTHER] Remove redundant WHERE from event queries.
+- [OTHER] Memoize the latest builds of a pipeline on a project's homepage.
+- [OTHER] Re-use issue/MR counts for the pagination system.
+- [OTHER] Memoize pipelines for project download buttons.
+- [OTHER] Reorganize indexes for the "deployments" table.
+- [OTHER] Improves markdown rendering performance for commit lists.
+- [OTHER] Only update the sidebar count caches when needed.
+- [OTHER] Improves performance of vue code by using vue files and moving svg out of data function in pipeline schedule callout.
+- [OTHER] Rework how recent push events are retrieved.
+- [OTHER] Restyle dropdown menus to make them look consistent.
+- [OTHER] Upgrade grape to 1.0.
+- [OTHER] Add usage data for Auto DevOps.
+- [OTHER] Cache the number of open issues and merge requests.
+- [OTHER] Constrain environment deployments to project IDs.
+- [OTHER] Eager load namespace owners for project dashboards.
+- [OTHER] Add description template examples to documentation.
+- [OTHER] Disallow NULL values for environments.project_id.
+- Add my reaction filter to search bar. !12962 (Hiroyuki Sato)
+- Generalize profile updates from providers. !12968 (Alexandros Keramidas)
+- Validate PO-files in static analysis. !13000
+- First-time contributor badge. !13143 (Micaël Bergeron <micaelbergeron@gmail.com>)
+- Add option to disable project export on instance. !13211 (Robin Bobbitt)
+- Hashed Storage support for Repositories (EXPERIMENTAL). !13246
+- Added tests for commits API unauthenticated user and public/private project. !13287 (Jacopo Beschi @jacopo-beschi)
+- Fix CI_PROJECT_PATH_SLUG slugify. !13350 (Ivan Chernov)
+- Add checks for branch existence before changing HEAD. !13359 (Vitaliy @blackst0ne Klachkov)
+- Fix the alignment of line numbers to lines of code in code viewer. !13403 (Trevor Flynn)
+- Allow users to move issues to other projects using a / command. !13436 (Manolis Mavrofidis)
+- Bumps omniauth-ldap gem version to 2.0.4. !13465
+- Implement the Gitaly RefService::RefExists endpoint. !13528 (Andrew Newdigate)
+- Changed all font-weight values to 400 and 600 and introduced 2 variables to manage them.
+- Simplify checking if objects exist code in new issaubles workers.
+- Present enqueued merge jobs as Merging as well.
+- Don't escape html entities in InlineDiffMarkdownMarker.
+- Move ConvDev Index location to after Cohorts.
+- Added type to CHANGELOG entries. (Jacopo Beschi @jacopo-beschi)
+- [BUGIFX] Improves subgroup creation permissions. !13418
+
## 9.5.5 (2017-09-18)
- [SECURITY] Upgrade mail and nokogiri gems due to security issues. !13662 (Markus Koller)
diff --git a/GITALY_SERVER_VERSION b/GITALY_SERVER_VERSION
index ca75280b09b..9b0025a7850 100644
--- a/GITALY_SERVER_VERSION
+++ b/GITALY_SERVER_VERSION
@@ -1 +1 @@
-0.38.0
+0.40.0
diff --git a/app/assets/javascripts/awards_handler.js b/app/assets/javascripts/awards_handler.js
index ec5be8664b2..4f01345ee3b 100644
--- a/app/assets/javascripts/awards_handler.js
+++ b/app/assets/javascripts/awards_handler.js
@@ -24,6 +24,9 @@ const categoryLabelMap = {
flags: 'Flags',
};
+const IS_VISIBLE = 'is-visible';
+const IS_RENDERED = 'is-rendered';
+
class AwardsHandler {
constructor(emoji) {
this.emoji = emoji;
@@ -51,7 +54,7 @@ class AwardsHandler {
if (!$target.closest('.emoji-menu').length) {
if ($('.emoji-menu').is(':visible')) {
$('.js-add-award.is-active').removeClass('is-active');
- $('.emoji-menu').removeClass('is-visible');
+ this.hideMenuElement($('.emoji-menu'));
}
}
});
@@ -88,12 +91,12 @@ class AwardsHandler {
if ($menu.length) {
if ($menu.is('.is-visible')) {
$addBtn.removeClass('is-active');
- $menu.removeClass('is-visible');
+ this.hideMenuElement($menu);
$('.js-emoji-menu-search').blur();
} else {
$addBtn.addClass('is-active');
this.positionMenu($menu, $addBtn);
- $menu.addClass('is-visible');
+ this.showMenuElement($menu);
$('.js-emoji-menu-search').focus();
}
} else {
@@ -103,7 +106,7 @@ class AwardsHandler {
$addBtn.removeClass('is-loading');
this.positionMenu($createdMenu, $addBtn);
return setTimeout(() => {
- $createdMenu.addClass('is-visible');
+ this.showMenuElement($createdMenu);
$('.js-emoji-menu-search').focus();
}, 200);
});
@@ -241,7 +244,8 @@ class AwardsHandler {
if (isInIssuePage() && !isMainAwardsBlock) {
const id = votesBlock.attr('id').replace('note_', '');
- $('.emoji-menu').removeClass('is-visible');
+ this.hideMenuElement($('.emoji-menu'));
+
$('.js-add-award.is-active').removeClass('is-active');
const toggleAwardEvent = new CustomEvent('toggleAward', {
detail: {
@@ -261,7 +265,8 @@ class AwardsHandler {
return typeof callback === 'function' ? callback() : undefined;
});
- $('.emoji-menu').removeClass('is-visible');
+ this.hideMenuElement($('.emoji-menu'));
+
return $('.js-add-award.is-active').removeClass('is-active');
}
@@ -529,6 +534,33 @@ class AwardsHandler {
return $matchingElements.closest('li').clone();
}
+ /* showMenuElement and hideMenuElement are performance optimizations. We use
+ * opacity to show/hide the emoji menu, because we can animate it. But opacity
+ * leaves hidden elements in the render tree, which is unacceptable given the number
+ * of emoji elements in the emoji menu (5k+). To get the best of both worlds, we separately
+ * apply IS_RENDERED to add/remove the menu from the render tree and IS_VISIBLE to animate
+ * the menu being opened and closed. */
+
+ showMenuElement($emojiMenu) {
+ $emojiMenu.addClass(IS_RENDERED);
+
+ // enqueues animation as a microtask, so it begins ASAP once IS_RENDERED added
+ return Promise.resolve()
+ .then(() => $emojiMenu.addClass(IS_VISIBLE));
+ }
+
+ hideMenuElement($emojiMenu) {
+ $emojiMenu.on(transitionEndEventString, (e) => {
+ if (e.currentTarget === e.target) {
+ $emojiMenu
+ .removeClass(IS_RENDERED)
+ .off(transitionEndEventString);
+ }
+ });
+
+ $emojiMenu.removeClass(IS_VISIBLE);
+ }
+
destroy() {
this.eventListeners.forEach((entry) => {
entry.element.off.call(entry.element, ...entry.args);
diff --git a/app/assets/javascripts/pipelines/components/pipelines_actions.vue b/app/assets/javascripts/pipelines/components/pipelines_actions.vue
index 01dfe51cc17..c4c63a52358 100644
--- a/app/assets/javascripts/pipelines/components/pipelines_actions.vue
+++ b/app/assets/javascripts/pipelines/components/pipelines_actions.vue
@@ -69,8 +69,7 @@
@click="onClickAction(action.path)"
:class="{ disabled: isActionDisabled(action) }"
:disabled="isActionDisabled(action)">
- <span v-html="playIconSvg"></span>
- <span>{{action.name}}</span>
+ {{action.name}}
</button>
</li>
</ul>
diff --git a/app/assets/javascripts/pipelines/components/pipelines_artifacts.vue b/app/assets/javascripts/pipelines/components/pipelines_artifacts.vue
index b19bd509a00..751a20991af 100644
--- a/app/assets/javascripts/pipelines/components/pipelines_artifacts.vue
+++ b/app/assets/javascripts/pipelines/components/pipelines_artifacts.vue
@@ -39,11 +39,7 @@
rel="nofollow"
download
:href="artifact.path">
- <i
- class="fa fa-download"
- aria-hidden="true">
- </i>
- <span>Download {{artifact.name}} artifacts</span>
+ Download {{artifact.name}} artifacts
</a>
</li>
</ul>
diff --git a/app/assets/javascripts/vue_shared/components/table_pagination.vue b/app/assets/javascripts/vue_shared/components/table_pagination.vue
index c9dbc048345..710452bb3d3 100644
--- a/app/assets/javascripts/vue_shared/components/table_pagination.vue
+++ b/app/assets/javascripts/vue_shared/components/table_pagination.vue
@@ -1,11 +1,13 @@
<script>
+import { s__ } from '../../locale';
+
const PAGINATION_UI_BUTTON_LIMIT = 4;
const UI_LIMIT = 6;
const SPREAD = '...';
-const PREV = 'Prev';
-const NEXT = 'Next';
-const FIRST = '« First';
-const LAST = 'Last »';
+const PREV = s__('Pagination|Prev');
+const NEXT = s__('Pagination|Next');
+const FIRST = s__('Pagination|« First');
+const LAST = s__('Pagination|Last »');
export default {
props: {
diff --git a/app/assets/stylesheets/framework/awards.scss b/app/assets/stylesheets/framework/awards.scss
index bb30da4f4b2..e0d2ed80de5 100644
--- a/app/assets/stylesheets/framework/awards.scss
+++ b/app/assets/stylesheets/framework/awards.scss
@@ -9,6 +9,7 @@
}
.emoji-menu {
+ display: none;
position: absolute;
top: 0;
margin-top: 3px;
@@ -27,6 +28,10 @@
transition: .3s cubic-bezier(.67, .06, .19, 1.44);
transition-property: transform, opacity;
+ &.is-rendered {
+ display: block;
+ }
+
&.is-aligned-right {
transform-origin: 100% -45px;
}
diff --git a/app/helpers/groups_helper.rb b/app/helpers/groups_helper.rb
index e8efe8fab27..82bceddf1f0 100644
--- a/app/helpers/groups_helper.rb
+++ b/app/helpers/groups_helper.rb
@@ -125,7 +125,7 @@ module GroupsHelper
end
def default_help
- s_("GroupSettings|This setting will be applied to all subgroups unless overridden by a group owner.")
+ s_("GroupSettings|This setting will be applied to all subgroups unless overridden by a group owner. Groups that already have access to the project will continue to have access unless removed manually.")
end
def ancestor_locked_but_you_can_override(group)
diff --git a/app/helpers/sorting_helper.rb b/app/helpers/sorting_helper.rb
index b408ec0c6a4..c4a73bedbcd 100644
--- a/app/helpers/sorting_helper.rb
+++ b/app/helpers/sorting_helper.rb
@@ -79,111 +79,111 @@ module SortingHelper
end
def sort_title_priority
- 'Priority'
+ s_('SortOptions|Priority')
end
def sort_title_label_priority
- 'Label priority'
+ s_('SortOptions|Label priority')
end
def sort_title_oldest_updated
- 'Oldest updated'
+ s_('SortOptions|Oldest updated')
end
def sort_title_recently_updated
- 'Last updated'
+ s_('SortOptions|Last updated')
end
def sort_title_oldest_activity
- 'Oldest updated'
+ s_('SortOptions|Oldest updated')
end
def sort_title_latest_activity
- 'Last updated'
+ s_('SortOptions|Last updated')
end
def sort_title_oldest_created
- 'Oldest created'
+ s_('SortOptions|Oldest created')
end
def sort_title_recently_created
- 'Last created'
+ s_('SortOptions|Last created')
end
def sort_title_milestone_soon
- 'Milestone due soon'
+ s_('SortOptions|Milestone due soon')
end
def sort_title_milestone_later
- 'Milestone due later'
+ s_('SortOptions|Milestone due later')
end
def sort_title_due_date_soon
- 'Due soon'
+ s_('SortOptions|Due soon')
end
def sort_title_due_date_later
- 'Due later'
+ s_('SortOptions|Due later')
end
def sort_title_start_date_soon
- 'Start soon'
+ s_('SortOptions|Start soon')
end
def sort_title_start_date_later
- 'Start later'
+ s_('SortOptions|Start later')
end
def sort_title_name
- 'Name'
+ s_('SortOptions|Name')
end
def sort_title_largest_repo
- 'Largest repository'
+ s_('SortOptions|Largest repository')
end
def sort_title_largest_group
- 'Largest group'
+ s_('SortOptions|Largest group')
end
def sort_title_recently_signin
- 'Recent sign in'
+ s_('SortOptions|Recent sign in')
end
def sort_title_oldest_signin
- 'Oldest sign in'
+ s_('SortOptions|Oldest sign in')
end
def sort_title_downvotes
- 'Least popular'
+ s_('SortOptions|Least popular')
end
def sort_title_upvotes
- 'Most popular'
+ s_('SortOptions|Most popular')
end
def sort_title_last_joined
- 'Last joined'
+ s_('SortOptions|Last joined')
end
def sort_title_oldest_joined
- 'Oldest joined'
+ s_('SortOptions|Oldest joined')
end
def sort_title_access_level_asc
- 'Access level, ascending'
+ s_('SortOptions|Access level, ascending')
end
def sort_title_access_level_desc
- 'Access level, descending'
+ s_('SortOptions|Access level, descending')
end
def sort_title_name_asc
- 'Name, ascending'
+ s_('SortOptions|Name, ascending')
end
def sort_title_name_desc
- 'Name, descending'
+ s_('SortOptions|Name, descending')
end
def sort_value_last_joined
diff --git a/app/models/repository.rb b/app/models/repository.rb
index f11cf1b065d..90cede9d3d4 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -8,6 +8,7 @@ class Repository
RESERVED_REFS_NAMES = %W[
heads
tags
+ replace
#{REF_ENVIRONMENTS}
#{REF_KEEP_AROUND}
#{REF_ENVIRONMENTS}
diff --git a/app/views/projects/branches/_branch.html.haml b/app/views/projects/branches/_branch.html.haml
index 05c1d2b383c..49101d1efa4 100644
--- a/app/views/projects/branches/_branch.html.haml
+++ b/app/views/projects/branches/_branch.html.haml
@@ -13,20 +13,23 @@
- if branch.name == @repository.root_ref
%span.label.label-primary default
- elsif @repository.merged_to_root_ref? branch.name
- %span.label.label-info.has-tooltip{ title: "Merged into #{@repository.root_ref}" }
- merged
+ %span.label.label-info.has-tooltip{ title: s_('Branches|Merged into %{default_branch}') % { default_branch: @repository.root_ref } }
+ = s_('Branches|merged')
- if protected_branch?(@project, branch)
%span.label.label-success
- protected
+ = s_('Branches|protected')
.controls.hidden-xs<
- if merge_project && create_mr_button?(@repository.root_ref, branch.name)
= link_to create_mr_path(@repository.root_ref, branch.name), class: 'btn btn-default' do
- Merge request
+ = _('Merge request')
- if branch.name != @repository.root_ref
- = link_to project_compare_index_path(@project, from: @repository.root_ref, to: branch.name), class: "btn btn-default #{'prepend-left-10' unless merge_project}", method: :post, title: "Compare" do
- Compare
+ = link_to project_compare_index_path(@project, from: @repository.root_ref, to: branch.name),
+ class: "btn btn-default #{'prepend-left-10' unless merge_project}",
+ method: :post,
+ title: s_('Branches|Compare') do
+ = s_('Branches|Compare')
= render 'projects/buttons/download', project: @project, ref: branch.name, pipeline: @refs_pipelines[branch.name]
@@ -34,12 +37,12 @@
- if branch.name == @project.repository.root_ref
%button{ class: "btn btn-remove remove-row js-ajax-loading-spinner has-tooltip disabled",
disabled: true,
- title: "The default branch cannot be deleted" }
+ title: s_('Branches|The default branch cannot be deleted') }
= icon("trash-o")
- elsif protected_branch?(@project, branch)
- if can?(current_user, :delete_protected_branch, @project)
%button{ class: "btn btn-remove remove-row js-ajax-loading-spinner has-tooltip",
- title: "Delete protected branch",
+ title: s_('Branches|Delete protected branch'),
data: { toggle: "modal",
target: "#modal-delete-branch",
delete_path: project_branch_path(@project, branch.name),
@@ -49,20 +52,22 @@
- else
%button{ class: "btn btn-remove remove-row js-ajax-loading-spinner has-tooltip disabled",
disabled: true,
- title: "Only a project master or owner can delete a protected branch" }
+ title: s_('Branches|Only a project master or owner can delete a protected branch') }
= icon("trash-o")
- else
= link_to project_branch_path(@project, branch.name),
class: "btn btn-remove remove-row js-ajax-loading-spinner has-tooltip",
- title: "Delete branch",
+ title: s_('Branches|Delete branch'),
method: :delete,
- data: { confirm: "Deleting the '#{branch.name}' branch cannot be undone. Are you sure?" },
+ data: { confirm: s_("Branches|Deleting the '%{branch_name}' branch cannot be undone. Are you sure?") % { branch_name: branch.name } },
remote: true,
- "aria-label" => "Delete branch" do
+ 'aria-label' => s_('Branches|Delete branch') do
= icon("trash-o")
- if branch.name != @repository.root_ref
- .divergence-graph{ title: "#{number_commits_behind} commits behind #{@repository.root_ref}, #{number_commits_ahead} commits ahead" }
+ .divergence-graph{ title: s_('%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead') % { number_commits_behind: number_commits_behind,
+ default_branch: @repository.root_ref,
+ number_commits_ahead: number_commits_ahead } }
.graph-side
.bar.bar-behind{ style: "width: #{number_commits_behind * bar_graph_width_factor}%" }
%span.count.count-behind= number_commits_behind
@@ -76,4 +81,4 @@
= render 'projects/branches/commit', commit: commit, project: @project
- else
%p
- Cant find HEAD commit for this branch
+ = s_('Branches|Cant find HEAD commit for this branch')
diff --git a/app/views/projects/branches/_delete_protected_modal.html.haml b/app/views/projects/branches/_delete_protected_modal.html.haml
index f00a0ee6925..e0008e322a0 100644
--- a/app/views/projects/branches/_delete_protected_modal.html.haml
+++ b/app/views/projects/branches/_delete_protected_modal.html.haml
@@ -4,36 +4,38 @@
.modal-header
%button.close{ data: { dismiss: 'modal' } } ×
%h3.page-title
- Delete protected branch
- = surround "'", "'?" do
+ - title_branch_name = capture do
%span.js-branch-name.ref-name>[branch name]
+ = s_("Branches|Delete protected branch '%{branch_name}'?").html_safe % { branch_name: title_branch_name }
.modal-body
%p
- You’re about to permanently delete the protected branch
- = succeed '.' do
- %strong.js-branch-name.ref-name [branch name]
+ - branch_name = capture do
+ %strong.js-branch-name.ref-name>[branch name]
+ = s_('Branches|You’re about to permanently delete the protected branch %{branch_name}.').html_safe % { branch_name: branch_name }
%p.js-not-merged
- default_branch = capture do
%span.ref-name= @repository.root_ref
- = s_("Branches|This branch hasn’t been merged into %{default_branch}.").html_safe % { default_branch: default_branch }
- = s_("Branches|To avoid data loss, consider merging this branch before deleting it.")
+ = s_('Branches|This branch hasn’t been merged into %{default_branch}.').html_safe % { default_branch: default_branch }
+ = s_('Branches|To avoid data loss, consider merging this branch before deleting it.')
%p
- Once you confirm and press
- = succeed ',' do
- %strong Delete protected branch
- it cannot be undone or recovered.
+ - delete_protected_branch = capture do
+ %strong
+ = s_('Branches|Delete protected branch')
+ = s_('Branches|Once you confirm and press %{delete_protected_branch}, it cannot be undone or recovered.').html_safe % { delete_protected_branch: delete_protected_branch }
%p
- %strong To confirm, type
- %kbd.js-branch-name [branch name]
+ - branch_name_confirmation = capture do
+ %kbd.js-branch-name [branch name]
+ %strong
+ = s_('Branches|To confirm, type %{branch_name_confirmation}:').html_safe % { branch_name_confirmation: branch_name_confirmation }
.form-group
= text_field_tag 'delete_branch_input', '', class: 'form-control js-delete-branch-input'
.modal-footer
%button.btn{ data: { dismiss: 'modal' } } Cancel
- = link_to 'Delete protected branch', '',
+ = link_to s_('Branches|Delete protected branch'), '',
class: "btn btn-danger js-delete-branch",
- title: 'Delete branch',
+ title: s_('Branches|Delete branch'),
method: :delete,
- "aria-label" => "Delete"
+ 'aria-label' => s_('Branches|Delete branch')
diff --git a/app/views/projects/branches/index.html.haml b/app/views/projects/branches/index.html.haml
index 73583c6bbc2..ea6e7e9db6c 100644
--- a/app/views/projects/branches/index.html.haml
+++ b/app/views/projects/branches/index.html.haml
@@ -1,17 +1,17 @@
- @no_container = true
-- page_title "Branches"
+- page_title _('Branches')
= render "projects/commits/head"
%div{ class: container_class }
.top-area.adjust
- if can?(current_user, :admin_project, @project)
.nav-text
- Protected branches can be managed in
- = link_to 'project settings', project_protected_branches_path(@project)
+ - project_settings_link = link_to s_('Branches|project settings'), project_protected_branches_path(@project)
+ = s_('Branches|Protected branches can be managed in %{project_settings_link}').html_safe % { project_settings_link: project_settings_link }
.nav-controls
= form_tag(filter_branches_path, method: :get) do
- = search_field_tag :search, params[:search], { placeholder: 'Filter by branch name', id: 'branch-search', class: 'form-control search-text-input input-short', spellcheck: false }
+ = search_field_tag :search, params[:search], { placeholder: s_('Branches|Filter by branch name'), id: 'branch-search', class: 'form-control search-text-input input-short', spellcheck: false }
.dropdown.inline>
%button.dropdown-menu-toggle{ type: 'button', 'data-toggle' => 'dropdown' }
@@ -20,16 +20,21 @@
= icon('chevron-down')
%ul.dropdown-menu.dropdown-menu-align-right.dropdown-menu-selectable
%li.dropdown-header
- Sort by
+ = s_('Branches|Sort by')
- branches_sort_options_hash.each do |value, title|
%li
= link_to title, filter_branches_path(sort: value), class: ("is-active" if @sort == value)
- if can? current_user, :push_code, @project
- = link_to project_merged_branches_path(@project), class: 'btn btn-inverted btn-remove has-tooltip', title: "Delete all branches that are merged into '#{@project.repository.root_ref}'", method: :delete, data: { confirm: "Deleting the merged branches cannot be undone. Are you sure?", container: 'body' } do
- Delete merged branches
+ = link_to project_merged_branches_path(@project),
+ class: 'btn btn-inverted btn-remove has-tooltip',
+ title: s_("Branches|Delete all branches that are merged into '%{default_branch}'") % { default_branch: @project.repository.root_ref },
+ method: :delete,
+ data: { confirm: s_('Branches|Deleting the merged branches cannot be undone. Are you sure?'),
+ container: 'body' } do
+ = s_('Branches|Delete merged branches')
= link_to new_project_branch_path(@project), class: 'btn btn-create' do
- New branch
+ = s_('Branches|New branch')
- if @branches.any?
%ul.content-list.all-branches
@@ -37,6 +42,7 @@
= render "projects/branches/branch", branch: branch
= paginate @branches, theme: 'gitlab'
- else
- .nothing-here-block No branches to show
+ .nothing-here-block
+ = s_('Branches|No branches to show')
= render 'projects/branches/delete_protected_modal'
diff --git a/app/views/projects/buttons/_download.html.haml b/app/views/projects/buttons/_download.html.haml
index 9d85e027ac9..fa6f6d0b588 100644
--- a/app/views/projects/buttons/_download.html.haml
+++ b/app/views/projects/buttons/_download.html.haml
@@ -11,19 +11,15 @@
#{ _('Source code') }
%li
= link_to archive_project_repository_path(project, ref: ref, format: 'zip'), rel: 'nofollow', download: '' do
- %i.fa.fa-download
%span= _('Download zip')
%li
= link_to archive_project_repository_path(project, ref: ref, format: 'tar.gz'), rel: 'nofollow', download: '' do
- %i.fa.fa-download
%span= _('Download tar.gz')
%li
= link_to archive_project_repository_path(project, ref: ref, format: 'tar.bz2'), rel: 'nofollow', download: '' do
- %i.fa.fa-download
%span= _('Download tar.bz2')
%li
= link_to archive_project_repository_path(project, ref: ref, format: 'tar'), rel: 'nofollow', download: '' do
- %i.fa.fa-download
%span= _('Download tar')
- if pipeline && pipeline.latest_builds_with_artifacts.any?
@@ -36,6 +32,5 @@
- pipeline.latest_builds_with_artifacts.each do |job|
%li
= link_to latest_succeeded_project_artifacts_path(project, "#{ref}/download", job: job.name), rel: 'nofollow', download: '' do
- %i.fa.fa-download
%span
#{s_('DownloadArtifacts|Download')} '#{job.name}'
diff --git a/app/views/projects/buttons/_dropdown.html.haml b/app/views/projects/buttons/_dropdown.html.haml
index b04d6a1fa5e..2589c53beae 100644
--- a/app/views/projects/buttons/_dropdown.html.haml
+++ b/app/views/projects/buttons/_dropdown.html.haml
@@ -11,19 +11,16 @@
- if can_create_issue
%li
= link_to new_project_issue_path(@project) do
- = icon('exclamation-circle fw')
#{ _('New issue') }
- if merge_project
%li
= link_to project_new_merge_request_path(merge_project) do
- = icon('tasks fw')
#{ _('New merge request') }
- if can_create_snippet
%li
= link_to new_project_snippet_path(@project) do
- = icon('file-text-o fw')
#{ _('New snippet') }
- if can_create_issue || merge_project || can_create_snippet
@@ -32,20 +29,16 @@
- if can?(current_user, :push_code, @project)
%li
= link_to project_new_blob_path(@project, @project.default_branch || 'master') do
- = icon('file fw')
#{ _('New file') }
%li
= link_to new_project_branch_path(@project) do
- = icon('code-fork fw')
#{ _('New branch') }
%li
= link_to new_project_tag_path(@project) do
- = icon('tags fw')
#{ _('New tag') }
- elsif current_user && current_user.already_forked?(@project)
%li
= link_to project_new_blob_path(@project, @project.default_branch || 'master') do
- = icon('file fw')
#{ _('New file') }
- elsif can?(current_user, :fork_project, @project)
%li
@@ -55,5 +48,4 @@
- fork_path = project_forks_path(@project, namespace_key: current_user.namespace.id,
continue: continue_params)
= link_to fork_path, method: :post do
- = icon('file fw')
#{ _('New file') }
diff --git a/app/views/projects/tree/_old_tree_header.html.haml b/app/views/projects/tree/_old_tree_header.html.haml
index 13705ca303b..3a43dde8052 100644
--- a/app/views/projects/tree/_old_tree_header.html.haml
+++ b/app/views/projects/tree/_old_tree_header.html.haml
@@ -20,15 +20,12 @@
- if can_edit_tree?
%li
= link_to project_new_blob_path(@project, @id) do
- = icon('pencil fw')
#{ _('New file') }
%li
= link_to '#modal-upload-blob', { 'data-target' => '#modal-upload-blob', 'data-toggle' => 'modal' } do
- = icon('file fw')
#{ _('Upload file') }
%li
= link_to '#modal-create-new-dir', { 'data-target' => '#modal-create-new-dir', 'data-toggle' => 'modal' } do
- = icon('folder fw')
#{ _('New directory') }
- elsif can?(current_user, :fork_project, @project)
%li
@@ -38,7 +35,6 @@
- fork_path = project_forks_path(@project, namespace_key: current_user.namespace.id,
continue: continue_params)
= link_to fork_path, method: :post do
- = icon('pencil fw')
#{ _('New file') }
%li
- continue_params = { to: request.fullpath,
@@ -47,7 +43,6 @@
- fork_path = project_forks_path(@project, namespace_key: current_user.namespace.id,
continue: continue_params)
= link_to fork_path, method: :post do
- = icon('file fw')
#{ _('Upload file') }
%li
- continue_params = { to: request.fullpath,
@@ -56,15 +51,12 @@
- fork_path = project_forks_path(@project, namespace_key: current_user.namespace.id,
continue: continue_params)
= link_to fork_path, method: :post do
- = icon('folder fw')
#{ _('New directory') }
%li.divider
%li
= link_to new_project_branch_path(@project) do
- = icon('code-fork fw')
#{ _('New branch') }
%li
= link_to new_project_tag_path(@project) do
- = icon('tags fw')
#{ _('New tag') }
diff --git a/app/views/shared/boards/_show.html.haml b/app/views/shared/boards/_show.html.haml
index 2e5e7911981..722890a01e5 100644
--- a/app/views/shared/boards/_show.html.haml
+++ b/app/views/shared/boards/_show.html.haml
@@ -31,10 +31,11 @@
":board-id" => "boardId",
":key" => "_uid" }
= render "shared/boards/components/sidebar"
- %board-add-issues-modal{ "new-issue-path" => new_project_issue_path(@project),
- "milestone-path" => milestones_filter_dropdown_path,
- "label-path" => labels_filter_path,
- "empty-state-svg" => image_path('illustrations/issues.svg'),
- ":issue-link-base" => "issueLinkBase",
- ":root-path" => "rootPath",
- ":project-id" => @project.try(:id) }
+ - if @project
+ %board-add-issues-modal{ "new-issue-path" => new_project_issue_path(@project),
+ "milestone-path" => milestones_filter_dropdown_path,
+ "label-path" => labels_filter_path,
+ "empty-state-svg" => image_path('illustrations/issues.svg'),
+ ":issue-link-base" => "issueLinkBase",
+ ":root-path" => "rootPath",
+ ":project-id" => @project.id }
diff --git a/changelogs/unreleased/12968-generalize-profile-updates.yml b/changelogs/unreleased/12968-generalize-profile-updates.yml
deleted file mode 100644
index d09793512c1..00000000000
--- a/changelogs/unreleased/12968-generalize-profile-updates.yml
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: Generalize profile updates from providers
-merge_request: 12968
-author: Alexandros Keramidas
diff --git a/changelogs/unreleased/13325-bugfix-silence-on-disabled-notifications.yml b/changelogs/unreleased/13325-bugfix-silence-on-disabled-notifications.yml
deleted file mode 100644
index 90b169390d2..00000000000
--- a/changelogs/unreleased/13325-bugfix-silence-on-disabled-notifications.yml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: disabling notifications globally now properly turns off group/project added
- emails
-merge_request: 13325
-author: @jneen
-type: fixed
diff --git a/changelogs/unreleased/17849-allow-admin-to-restrict-min-key-length-and-techno.yml b/changelogs/unreleased/17849-allow-admin-to-restrict-min-key-length-and-techno.yml
deleted file mode 100644
index 8ec78bbd41f..00000000000
--- a/changelogs/unreleased/17849-allow-admin-to-restrict-min-key-length-and-techno.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add settings for minimum SSH key strength and allowed key type
-merge_request: 13712
-author: Cory Hinshaw
-type: added
diff --git a/changelogs/unreleased/19650-remove-admin-section-from-search-results-if-user-doesnt-have-access.yml b/changelogs/unreleased/19650-remove-admin-section-from-search-results-if-user-doesnt-have-access.yml
deleted file mode 100644
index 6d5baa8c10f..00000000000
--- a/changelogs/unreleased/19650-remove-admin-section-from-search-results-if-user-doesnt-have-access.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Hide admin link from default search results for non-admins
-merge_request: 14015
-author:
-type: fixed
diff --git a/changelogs/unreleased/21949-add-type-to-changelog.yml b/changelogs/unreleased/21949-add-type-to-changelog.yml
deleted file mode 100644
index a20f6b7ad4e..00000000000
--- a/changelogs/unreleased/21949-add-type-to-changelog.yml
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: Added type to CHANGELOG entries
-merge_request:
-author: Jacopo Beschi @jacopo-beschi
diff --git a/changelogs/unreleased/23079-remove-default-scope-in-sortable.yml b/changelogs/unreleased/23079-remove-default-scope-in-sortable.yml
deleted file mode 100644
index abb9e33d626..00000000000
--- a/changelogs/unreleased/23079-remove-default-scope-in-sortable.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Removes Sortable default scope.
-merge_request: 13558
-author:
-type: fixed
diff --git a/changelogs/unreleased/26692-predefined-variable-gitlab-user-name.yml b/changelogs/unreleased/26692-predefined-variable-gitlab-user-name.yml
deleted file mode 100644
index fa1ca3d25b2..00000000000
--- a/changelogs/unreleased/26692-predefined-variable-gitlab-user-name.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add CI/CD job predefined variables with user name and login
-merge_request: 13824
-author:
-type: added
diff --git a/changelogs/unreleased/28202_decrease_abc_threshold_step3.yml b/changelogs/unreleased/28202_decrease_abc_threshold_step3.yml
deleted file mode 100644
index ed38fd37103..00000000000
--- a/changelogs/unreleased/28202_decrease_abc_threshold_step3.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Decrease ABC threshold to 55.25
-merge_request: 13904
-author: Maxim Rydkin
-type: other
diff --git a/changelogs/unreleased/28283-uuid-storage.yml b/changelogs/unreleased/28283-uuid-storage.yml
deleted file mode 100644
index 283e06d4b7f..00000000000
--- a/changelogs/unreleased/28283-uuid-storage.yml
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: Hashed Storage support for Repositories (EXPERIMENTAL)
-merge_request: 13246
-author:
diff --git a/changelogs/unreleased/28453-add-time-estimate-time-spent-to-api-issue-output.yml b/changelogs/unreleased/28453-add-time-estimate-time-spent-to-api-issue-output.yml
deleted file mode 100644
index 129cf505a3f..00000000000
--- a/changelogs/unreleased/28453-add-time-estimate-time-spent-to-api-issue-output.yml
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: Add time stats to Issue and Merge Request API
-merge_request: 13335
-author: @travismiller
diff --git a/changelogs/unreleased/28938-password-change-workflow-for-admins.yml b/changelogs/unreleased/28938-password-change-workflow-for-admins.yml
deleted file mode 100644
index 0781e1a2fce..00000000000
--- a/changelogs/unreleased/28938-password-change-workflow-for-admins.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Changes the password change workflow for admins.
-merge_request: 13901
-author:
-type: fixed
diff --git a/changelogs/unreleased/29811-fix-line-number-alignment.yml b/changelogs/unreleased/29811-fix-line-number-alignment.yml
deleted file mode 100644
index 94b3328a7f2..00000000000
--- a/changelogs/unreleased/29811-fix-line-number-alignment.yml
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: Fix the alignment of line numbers to lines of code in code viewer
-merge_request: 13403
-author: Trevor Flynn \ No newline at end of file
diff --git a/changelogs/unreleased/30162-retire-koding-integration.yml b/changelogs/unreleased/30162-retire-koding-integration.yml
deleted file mode 100644
index 63c2b9eb161..00000000000
--- a/changelogs/unreleased/30162-retire-koding-integration.yml
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: Deprecation of Koding integration, removal of setting in Admin Panel
-merge_request: 13992
-author: @mydigitalself
diff --git a/changelogs/unreleased/31273-creating-an-project-within-an-internal-sub-group-gives-the-option-to-set-it-a-public.yml b/changelogs/unreleased/31273-creating-an-project-within-an-internal-sub-group-gives-the-option-to-set-it-a-public.yml
deleted file mode 100644
index 4d21717e161..00000000000
--- a/changelogs/unreleased/31273-creating-an-project-within-an-internal-sub-group-gives-the-option-to-set-it-a-public.yml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Ensure correct visibility level options shown on all Project, Group, and Snippets
- forms
-merge_request: 13442
-author:
-type: fixed
diff --git a/changelogs/unreleased/31362_decrease_cyclomatic_complexity_threshold_step3.yml b/changelogs/unreleased/31362_decrease_cyclomatic_complexity_threshold_step3.yml
deleted file mode 100644
index 4a8d8097169..00000000000
--- a/changelogs/unreleased/31362_decrease_cyclomatic_complexity_threshold_step3.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Decrease Cyclomatic Complexity threshold to 14
-merge_request: 13972
-author: Maxim Rydkin
-type: other
diff --git a/changelogs/unreleased/31409-fix-group-and-project-search-for-anonymous-users.yml b/changelogs/unreleased/31409-fix-group-and-project-search-for-anonymous-users.yml
deleted file mode 100644
index 06e8180db64..00000000000
--- a/changelogs/unreleased/31409-fix-group-and-project-search-for-anonymous-users.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix group and project search for anonymous users
-merge_request: 13745
-author:
-type: fixed
diff --git a/changelogs/unreleased/31470-fix-api-files-raw.yml b/changelogs/unreleased/31470-fix-api-files-raw.yml
deleted file mode 100644
index 271a945a998..00000000000
--- a/changelogs/unreleased/31470-fix-api-files-raw.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix the /projects/:id/repository/files/:file_path/raw endpoint to handle dots in the file_path
-merge_request: 13512
-author: mahcsig
-type: fixed
diff --git a/changelogs/unreleased/32665-refactor-project-visibility-settings.yml b/changelogs/unreleased/32665-refactor-project-visibility-settings.yml
deleted file mode 100644
index fde70c47ca6..00000000000
--- a/changelogs/unreleased/32665-refactor-project-visibility-settings.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Redesign project feature permissions settings
-merge_request: 14062
-author:
-type: changed
diff --git a/changelogs/unreleased/33287-fix-mr-widget-errors-with-external-services.yml b/changelogs/unreleased/33287-fix-mr-widget-errors-with-external-services.yml
deleted file mode 100644
index f0c76060781..00000000000
--- a/changelogs/unreleased/33287-fix-mr-widget-errors-with-external-services.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix errors thrown in merge request widget with external CI service/integration
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/33328-usage-ping-for-gitlab-features-and-components.yml b/changelogs/unreleased/33328-usage-ping-for-gitlab-features-and-components.yml
new file mode 100644
index 00000000000..d3aac241b75
--- /dev/null
+++ b/changelogs/unreleased/33328-usage-ping-for-gitlab-features-and-components.yml
@@ -0,0 +1,5 @@
+---
+title: Adds gitlab features and components to usage ping data.
+merge_request: 14305
+author:
+type: other
diff --git a/changelogs/unreleased/34049-public-commits-should-not-require-authentication.yml b/changelogs/unreleased/34049-public-commits-should-not-require-authentication.yml
deleted file mode 100644
index 278ef2a8acb..00000000000
--- a/changelogs/unreleased/34049-public-commits-should-not-require-authentication.yml
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: Added tests for commits API unauthenticated user and public/private project
-merge_request: 13287
-author: Jacopo Beschi @jacopo-beschi
diff --git a/changelogs/unreleased/34261-move-move-to-sidebar.yml b/changelogs/unreleased/34261-move-move-to-sidebar.yml
deleted file mode 100644
index 59fa1d4c221..00000000000
--- a/changelogs/unreleased/34261-move-move-to-sidebar.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Move "Move issue" controls to right-sidebar
-merge_request:
-author:
-type: changed
diff --git a/changelogs/unreleased/34371-pipeline-schedule-vue-files.yml b/changelogs/unreleased/34371-pipeline-schedule-vue-files.yml
deleted file mode 100644
index 7de30d82601..00000000000
--- a/changelogs/unreleased/34371-pipeline-schedule-vue-files.yml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Improves performance of vue code by using vue files and moving svg out of data
- function in pipeline schedule callout
-merge_request:
-author:
-type: other
diff --git a/changelogs/unreleased/34413-move-convdev-index-location-to-after-cohorts.yml b/changelogs/unreleased/34413-move-convdev-index-location-to-after-cohorts.yml
deleted file mode 100644
index d33b55ef681..00000000000
--- a/changelogs/unreleased/34413-move-convdev-index-location-to-after-cohorts.yml
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: Move ConvDev Index location to after Cohorts.
-merge_request: !13398
-author:
diff --git a/changelogs/unreleased/34509-improves-markdown-rendering-performance-for-commits-list.yml b/changelogs/unreleased/34509-improves-markdown-rendering-performance-for-commits-list.yml
deleted file mode 100644
index a61d703bacd..00000000000
--- a/changelogs/unreleased/34509-improves-markdown-rendering-performance-for-commits-list.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Improves markdown rendering performance for commit lists.
-merge_request:
-author:
-type: other
diff --git a/changelogs/unreleased/34643-fix-project-path-slugify.yml b/changelogs/unreleased/34643-fix-project-path-slugify.yml
deleted file mode 100644
index f7018a1aca5..00000000000
--- a/changelogs/unreleased/34643-fix-project-path-slugify.yml
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: Fix CI_PROJECT_PATH_SLUG slugify
-merge_request: 13350
-author: Ivan Chernov
diff --git a/changelogs/unreleased/34945-readme-div-id.yml b/changelogs/unreleased/34945-readme-div-id.yml
deleted file mode 100644
index c7d26b746b4..00000000000
--- a/changelogs/unreleased/34945-readme-div-id.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add div id to the readme in the project overview
-merge_request: 13735
-author: Riccardo Padovani @rpadovani
-type: added
diff --git a/changelogs/unreleased/34990-top-buttons-misaligned.yml b/changelogs/unreleased/34990-top-buttons-misaligned.yml
deleted file mode 100644
index db60f83ed71..00000000000
--- a/changelogs/unreleased/34990-top-buttons-misaligned.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fixes margins on the top buttons of the pipeline table
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/35010-projects-nav-dropdown.yml b/changelogs/unreleased/35010-projects-nav-dropdown.yml
deleted file mode 100644
index c5bed723f55..00000000000
--- a/changelogs/unreleased/35010-projects-nav-dropdown.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add dropdown to Projects nav item
-merge_request: 13866
-author:
-type: added
diff --git a/changelogs/unreleased/35010-remove-goto-project-from-breadcrumb.yml b/changelogs/unreleased/35010-remove-goto-project-from-breadcrumb.yml
deleted file mode 100644
index 6cd7f4e9cc6..00000000000
--- a/changelogs/unreleased/35010-remove-goto-project-from-breadcrumb.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Remove project select dropdown from breadcrumb
-merge_request: 14010
-author:
-type: changed
diff --git a/changelogs/unreleased/35012-navigation-add-option-to-change-navigation-color-palette.yml b/changelogs/unreleased/35012-navigation-add-option-to-change-navigation-color-palette.yml
deleted file mode 100644
index 74aa337a18c..00000000000
--- a/changelogs/unreleased/35012-navigation-add-option-to-change-navigation-color-palette.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add option in preferences to change navigation theme color
-merge_request:
-author:
-type: added
diff --git a/changelogs/unreleased/35048-empty-badges.yml b/changelogs/unreleased/35048-empty-badges.yml
deleted file mode 100644
index 816fe82887c..00000000000
--- a/changelogs/unreleased/35048-empty-badges.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Prevents rendering empty badges when request fails
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/35161_first_time_contributor_badge.yml b/changelogs/unreleased/35161_first_time_contributor_badge.yml
deleted file mode 100644
index f3ab2d9db31..00000000000
--- a/changelogs/unreleased/35161_first_time_contributor_badge.yml
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: "First-time contributor badge"
-merge_request: 13143
-author: Micaël Bergeron <micaelbergeron@gmail.com>
diff --git a/changelogs/unreleased/35343-inherit-milestones-and-labels.yml b/changelogs/unreleased/35343-inherit-milestones-and-labels.yml
deleted file mode 100644
index ce737a67356..00000000000
--- a/changelogs/unreleased/35343-inherit-milestones-and-labels.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: inherits milestone and labels when a merge request is created from issue
-merge_request: 13461
-author: haseebeqx
-type: added
diff --git a/changelogs/unreleased/35686-unescape-wiki-title.yml b/changelogs/unreleased/35686-unescape-wiki-title.yml
deleted file mode 100644
index 4b2b7078163..00000000000
--- a/changelogs/unreleased/35686-unescape-wiki-title.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Unescape HTML characters in Wiki title
-merge_request: 13942
-author: Jacopo Beschi @jacopo-beschi
-type: fixed
diff --git a/changelogs/unreleased/35721-auth-style-confirmation.yml b/changelogs/unreleased/35721-auth-style-confirmation.yml
deleted file mode 100644
index 9963f76e845..00000000000
--- a/changelogs/unreleased/35721-auth-style-confirmation.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: restyling of OAuth authorization confirmation
-merge_request:
-author: Jacopo Beschi @jacopo-beschi
-type: changed
diff --git a/changelogs/unreleased/35793_fix_predicate_names.yml b/changelogs/unreleased/35793_fix_predicate_names.yml
deleted file mode 100644
index d4da177dc2e..00000000000
--- a/changelogs/unreleased/35793_fix_predicate_names.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Remove `is_` prefix from predicate method names
-merge_request: 13810
-author: Maxim Rydkin
-type: other
diff --git a/changelogs/unreleased/35811-copy-link-note.yml b/changelogs/unreleased/35811-copy-link-note.yml
deleted file mode 100644
index 9fa74884c8a..00000000000
--- a/changelogs/unreleased/35811-copy-link-note.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add support for copying permalink to notes via more actions dropdown
-merge_request: 13299
-author:
-type: added
diff --git a/changelogs/unreleased/35845-improve-subgroup-creation-permissions.yml b/changelogs/unreleased/35845-improve-subgroup-creation-permissions.yml
deleted file mode 100644
index eac8dbe23c2..00000000000
--- a/changelogs/unreleased/35845-improve-subgroup-creation-permissions.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Improves subgroup creation permissions
-merge_request: 13418
-author:
-type: bugifx
diff --git a/changelogs/unreleased/35978-milestone-title.yml b/changelogs/unreleased/35978-milestone-title.yml
deleted file mode 100644
index 1a4b71328c1..00000000000
--- a/changelogs/unreleased/35978-milestone-title.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Truncate milestone title if sidebar is collapsed
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/35994-archived-projects-only.yml b/changelogs/unreleased/35994-archived-projects-only.yml
deleted file mode 100644
index ce565b177d0..00000000000
--- a/changelogs/unreleased/35994-archived-projects-only.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add an option to list only archived projects
-merge_request: 13492
-author: Mehdi Lahmam (@mehlah)
-type: added
diff --git a/changelogs/unreleased/36010-api-v4-allows-setting-a-branch-that-doesn-t-exist-as-the-default-one.yml b/changelogs/unreleased/36010-api-v4-allows-setting-a-branch-that-doesn-t-exist-as-the-default-one.yml
deleted file mode 100644
index 04791e09b84..00000000000
--- a/changelogs/unreleased/36010-api-v4-allows-setting-a-branch-that-doesn-t-exist-as-the-default-one.yml
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: Add checks for branch existence before changing HEAD
-merge_request: 13359
-author: Vitaliy @blackst0ne Klachkov
diff --git a/changelogs/unreleased/36041-notification-title.yml b/changelogs/unreleased/36041-notification-title.yml
deleted file mode 100644
index 7c5e0a0cd0d..00000000000
--- a/changelogs/unreleased/36041-notification-title.yml
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: Don't escape html entities in InlineDiffMarkdownMarker
-merge_request:
-author:
diff --git a/changelogs/unreleased/36087-users-cannot-delete-their-account.yml b/changelogs/unreleased/36087-users-cannot-delete-their-account.yml
deleted file mode 100644
index 9ba75d8b1d0..00000000000
--- a/changelogs/unreleased/36087-users-cannot-delete-their-account.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: allow all users to delete their account
-merge_request: 13636
-author: Jacopo Beschi @jacopo-beschi
-type: changed
diff --git a/changelogs/unreleased/36114-stuck-mrs-job-follow-up.yml b/changelogs/unreleased/36114-stuck-mrs-job-follow-up.yml
deleted file mode 100644
index 1b664efb8c2..00000000000
--- a/changelogs/unreleased/36114-stuck-mrs-job-follow-up.yml
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: Present enqueued merge jobs as Merging as well
-merge_request:
-author:
diff --git a/changelogs/unreleased/36119-issuable-workers.yml b/changelogs/unreleased/36119-issuable-workers.yml
deleted file mode 100644
index beb01ae5b1a..00000000000
--- a/changelogs/unreleased/36119-issuable-workers.yml
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: Simplify checking if objects exist code in new issaubles workers
-merge_request:
-author:
diff --git a/changelogs/unreleased/36213-return-is_admin-in-users-api-when-current_user-is-admin.yml b/changelogs/unreleased/36213-return-is_admin-in-users-api-when-current_user-is-admin.yml
deleted file mode 100644
index b51b5e58b39..00000000000
--- a/changelogs/unreleased/36213-return-is_admin-in-users-api-when-current_user-is-admin.yml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Include the `is_admin` field in the `GET /users/:id` API when current user
- is an admin
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/36262_merge_request_reference_in_merge_commit_global.yml b/changelogs/unreleased/36262_merge_request_reference_in_merge_commit_global.yml
deleted file mode 100644
index 356857d6e8a..00000000000
--- a/changelogs/unreleased/36262_merge_request_reference_in_merge_commit_global.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Merge request reference in merge commit changed to full reference
-merge_request: 13518
-author: haseebeqx
-type: fixed
diff --git a/changelogs/unreleased/36385-pipeline-graph-dropdown.yml b/changelogs/unreleased/36385-pipeline-graph-dropdown.yml
deleted file mode 100644
index 1a43c66debd..00000000000
--- a/changelogs/unreleased/36385-pipeline-graph-dropdown.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Prevents jobs dropdown from closing in pipeline graph
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/36611-error-in-getcomposer-link.yml b/changelogs/unreleased/36611-error-in-getcomposer-link.yml
deleted file mode 100644
index 1ff6ec01684..00000000000
--- a/changelogs/unreleased/36611-error-in-getcomposer-link.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix external link to Composer website
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/36792-inline-user-refresh-when-creating-project.yml b/changelogs/unreleased/36792-inline-user-refresh-when-creating-project.yml
deleted file mode 100644
index be08da0433a..00000000000
--- a/changelogs/unreleased/36792-inline-user-refresh-when-creating-project.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Never wait for sidekiq jobs when creating projects
-merge_request: 13775
-author:
-type: other
diff --git a/changelogs/unreleased/36807-gc-unwanted-refs-after-import.yml b/changelogs/unreleased/36807-gc-unwanted-refs-after-import.yml
deleted file mode 100644
index a37de4325bb..00000000000
--- a/changelogs/unreleased/36807-gc-unwanted-refs-after-import.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Remove unwanted refs after importing a project
-merge_request: 13766
-author:
-type: other
diff --git a/changelogs/unreleased/36859-update-gpg-docs-with-gpg2.yml b/changelogs/unreleased/36859-update-gpg-docs-with-gpg2.yml
deleted file mode 100644
index e48a5704fdd..00000000000
--- a/changelogs/unreleased/36859-update-gpg-docs-with-gpg2.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Update gpg documentation with gpg2
-merge_request: 13851
-author: M M Arif
-type: other
diff --git a/changelogs/unreleased/36860-migrate-issues-author.yml b/changelogs/unreleased/36860-migrate-issues-author.yml
deleted file mode 100644
index 3e9fcc55836..00000000000
--- a/changelogs/unreleased/36860-migrate-issues-author.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Migrate issues authored by deleted user to the Ghost user
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/36917-branch-tooltip.yml b/changelogs/unreleased/36917-branch-tooltip.yml
deleted file mode 100644
index 2d37de50cec..00000000000
--- a/changelogs/unreleased/36917-branch-tooltip.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Adds tooltip to the branch name and improves performance
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/36937-fix-invite-by-email-text.yml b/changelogs/unreleased/36937-fix-invite-by-email-text.yml
deleted file mode 100644
index 06c6105fab6..00000000000
--- a/changelogs/unreleased/36937-fix-invite-by-email-text.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix invite by email address duplication
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/36939-fix-find-blobs-by-path.yml b/changelogs/unreleased/36939-fix-find-blobs-by-path.yml
deleted file mode 100644
index b48b10049ed..00000000000
--- a/changelogs/unreleased/36939-fix-find-blobs-by-path.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix searching for files by path
-merge_request: 13798
-author:
-type: fixed
diff --git a/changelogs/unreleased/36994-toggle-for-automatically-collapsing-outdated-diff-comments.yml b/changelogs/unreleased/36994-toggle-for-automatically-collapsing-outdated-diff-comments.yml
deleted file mode 100644
index 83f6b2d21e1..00000000000
--- a/changelogs/unreleased/36994-toggle-for-automatically-collapsing-outdated-diff-comments.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add repository toggle for automatically resolving outdated diff discussions
-merge_request: 14053
-author: AshleyDumaine
-type: added
diff --git a/changelogs/unreleased/37023-remove-focus-styles-from-dropdown-empty-link.yml b/changelogs/unreleased/37023-remove-focus-styles-from-dropdown-empty-link.yml
deleted file mode 100644
index fcaa6ec13f8..00000000000
--- a/changelogs/unreleased/37023-remove-focus-styles-from-dropdown-empty-link.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Remove focus styles from dropdown empty links
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/37104-fix-graph-date-format.yml b/changelogs/unreleased/37104-fix-graph-date-format.yml
deleted file mode 100644
index f7d39fe8283..00000000000
--- a/changelogs/unreleased/37104-fix-graph-date-format.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix incorrect date/time formatting on prometheus graphs
-merge_request: 13865
-author:
-type: fixed
diff --git a/changelogs/unreleased/37147-fix-fallback-emoji-alignment.yml b/changelogs/unreleased/37147-fix-fallback-emoji-alignment.yml
deleted file mode 100644
index 34161e63c81..00000000000
--- a/changelogs/unreleased/37147-fix-fallback-emoji-alignment.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Better align fallback image emojis
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/37158-autodevops-banner.yml b/changelogs/unreleased/37158-autodevops-banner.yml
deleted file mode 100644
index f0ffb670102..00000000000
--- a/changelogs/unreleased/37158-autodevops-banner.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Created callout for auto devops
-merge_request:
-author:
-type: added
diff --git a/changelogs/unreleased/37179-dashboard-project-dropdown.yml b/changelogs/unreleased/37179-dashboard-project-dropdown.yml
deleted file mode 100644
index 3ef080b8eae..00000000000
--- a/changelogs/unreleased/37179-dashboard-project-dropdown.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Removes disabled state from dashboard project button
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/37198-api-doesn-t-respect-default-group-visibility.yml b/changelogs/unreleased/37198-api-doesn-t-respect-default-group-visibility.yml
deleted file mode 100644
index ef83dc1d10a..00000000000
--- a/changelogs/unreleased/37198-api-doesn-t-respect-default-group-visibility.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: 'API: Respect default group visibility when creating a group'
-merge_request: 13903
-author: Robert Schilling
-type: fixed
diff --git a/changelogs/unreleased/37204-deprecate-git-user-manual-ssh-config.yml b/changelogs/unreleased/37204-deprecate-git-user-manual-ssh-config.yml
deleted file mode 100644
index 593e74593c4..00000000000
--- a/changelogs/unreleased/37204-deprecate-git-user-manual-ssh-config.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Deprecate custom SSH client configuration for the git user
-merge_request: 13930
-author:
-type: deprecated
diff --git a/changelogs/unreleased/37259-some-mr-ready-mobile-fixes.yml b/changelogs/unreleased/37259-some-mr-ready-mobile-fixes.yml
deleted file mode 100644
index a00a41f567f..00000000000
--- a/changelogs/unreleased/37259-some-mr-ready-mobile-fixes.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix MR ready to merge buttons/controls at mobile breakpoint
-merge_request: 14242
-author:
-type: fixed
diff --git a/changelogs/unreleased/37368-blob-viewer-on-mobile.yml b/changelogs/unreleased/37368-blob-viewer-on-mobile.yml
deleted file mode 100644
index 6a955f5715f..00000000000
--- a/changelogs/unreleased/37368-blob-viewer-on-mobile.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Make blob viewer for rich contents wider for mobile
-merge_request: 14011
-author: Takuya Noguchi
-type: fixed
diff --git a/changelogs/unreleased/37465-fix-line-resolve-all-green-checkmark-icon.yml b/changelogs/unreleased/37465-fix-line-resolve-all-green-checkmark-icon.yml
deleted file mode 100644
index 24b1d201409..00000000000
--- a/changelogs/unreleased/37465-fix-line-resolve-all-green-checkmark-icon.yml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Update x/x discussions resolved checkmark icon to be green when all discussions
- resolved
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/37499-add-description-template-examples-to-the-docs.yml b/changelogs/unreleased/37499-add-description-template-examples-to-the-docs.yml
deleted file mode 100644
index 2a8e8a33225..00000000000
--- a/changelogs/unreleased/37499-add-description-template-examples-to-the-docs.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add description template examples to documentation
-merge_request:
-author:
-type: other
diff --git a/changelogs/unreleased/37576-renamed-files-have-escaped-html-for-the-inline-diff-in-the-header.yml b/changelogs/unreleased/37576-renamed-files-have-escaped-html-for-the-inline-diff-in-the-header.yml
deleted file mode 100644
index 8c328eb0950..00000000000
--- a/changelogs/unreleased/37576-renamed-files-have-escaped-html-for-the-inline-diff-in-the-header.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix the diff file header from being html escaped for renamed files.
-merge_request: 14121
-author:
-type: fixed
diff --git a/changelogs/unreleased/37590-pipelines-mr.yml b/changelogs/unreleased/37590-pipelines-mr.yml
deleted file mode 100644
index ee609888155..00000000000
--- a/changelogs/unreleased/37590-pipelines-mr.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix mini graph pipeline breakin in merge request view
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/37629-lazy-image-loading-breaks-notification-mails-for-an-added-screenshot.yml b/changelogs/unreleased/37629-lazy-image-loading-breaks-notification-mails-for-an-added-screenshot.yml
deleted file mode 100644
index 5735d59a2bd..00000000000
--- a/changelogs/unreleased/37629-lazy-image-loading-breaks-notification-mails-for-an-added-screenshot.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Image attachments are properly displayed in notification emails again
-merge_request: 14161
-author:
-type: fixed
diff --git a/changelogs/unreleased/37730-image-onion-skin-does-not-work-anymore.yml b/changelogs/unreleased/37730-image-onion-skin-does-not-work-anymore.yml
deleted file mode 100644
index 7357c61b5f2..00000000000
--- a/changelogs/unreleased/37730-image-onion-skin-does-not-work-anymore.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Resolve Image onion skin + swipe does not work anymore
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/37759-also-treat-newlines-as-separator.yml b/changelogs/unreleased/37759-also-treat-newlines-as-separator.yml
deleted file mode 100644
index 6894e650c11..00000000000
--- a/changelogs/unreleased/37759-also-treat-newlines-as-separator.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Allow using newlines in pipeline email service recipients
-merge_request: 14250
-author:
-type: fixed
diff --git a/changelogs/unreleased/37890-auto-devops-banner-is-not-shown-when-the-repository-is-empty-new-project.yml b/changelogs/unreleased/37890-auto-devops-banner-is-not-shown-when-the-repository-is-empty-new-project.yml
deleted file mode 100644
index 2dddfa0b882..00000000000
--- a/changelogs/unreleased/37890-auto-devops-banner-is-not-shown-when-the-repository-is-empty-new-project.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix Auto DevOps banner to be shown on empty projects
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/37894-handle-if-auto-devops-domain-is-not-set.yml b/changelogs/unreleased/37894-handle-if-auto-devops-domain-is-not-set.yml
deleted file mode 100644
index bbb12ff41b1..00000000000
--- a/changelogs/unreleased/37894-handle-if-auto-devops-domain-is-not-set.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Handle if Auto DevOps domain is not set in project settings
-merge_request:
-author:
-type: added
diff --git a/changelogs/unreleased/38049-fix-resolve-in-new-issue-btn.yml b/changelogs/unreleased/38049-fix-resolve-in-new-issue-btn.yml
deleted file mode 100644
index a904c656f4f..00000000000
--- a/changelogs/unreleased/38049-fix-resolve-in-new-issue-btn.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix the "resolve discussion in a new issue" button
-merge_request: 14357
-author:
-type: fixed
diff --git a/changelogs/unreleased/38197-fix-ImapAuthenticationCheck.yml b/changelogs/unreleased/38197-fix-ImapAuthenticationCheck.yml
new file mode 100644
index 00000000000..df562077fb3
--- /dev/null
+++ b/changelogs/unreleased/38197-fix-ImapAuthenticationCheck.yml
@@ -0,0 +1,5 @@
+---
+title: Fix `rake gitlab:incoming_email:check` and make it report the actual error
+merge_request: 14423
+author:
+type: fixed
diff --git a/changelogs/unreleased/38234-reserve-refs-replace.yml b/changelogs/unreleased/38234-reserve-refs-replace.yml
new file mode 100644
index 00000000000..3a5ffbf9db0
--- /dev/null
+++ b/changelogs/unreleased/38234-reserve-refs-replace.yml
@@ -0,0 +1,5 @@
+---
+title: Also reserve refs/replace after importing a project
+merge_request: 14436
+author:
+type: fixed
diff --git a/changelogs/unreleased/add-filter-by-my-reaction.yml b/changelogs/unreleased/add-filter-by-my-reaction.yml
deleted file mode 100644
index dc1601cf3ee..00000000000
--- a/changelogs/unreleased/add-filter-by-my-reaction.yml
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: Add my reaction filter to search bar
-merge_request: 12962
-author: Hiroyuki Sato
diff --git a/changelogs/unreleased/add_message_to_the_404_page.yml b/changelogs/unreleased/add_message_to_the_404_page.yml
deleted file mode 100644
index f567796fe9f..00000000000
--- a/changelogs/unreleased/add_message_to_the_404_page.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Changed message and title on the 404 page
-merge_request:
-author: Branka Martinovic
-type: added
diff --git a/changelogs/unreleased/add_quick_submission_on_user_settings_page.yml b/changelogs/unreleased/add_quick_submission_on_user_settings_page.yml
deleted file mode 100644
index 3e4105a4232..00000000000
--- a/changelogs/unreleased/add_quick_submission_on_user_settings_page.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add quick submission on user settings page
-merge_request: 14007
-author: Vitaliy @blackst0ne Klachkov
-type: added
diff --git a/changelogs/unreleased/additional-time-series-charts.yml b/changelogs/unreleased/additional-time-series-charts.yml
deleted file mode 100644
index 80c1af54881..00000000000
--- a/changelogs/unreleased/additional-time-series-charts.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Added support the multiple time series for prometheus monitoring
-merge_request: !36893
-author:
-type: changed
diff --git a/changelogs/unreleased/api-delete-respect-headers.yml b/changelogs/unreleased/api-delete-respect-headers.yml
deleted file mode 100644
index cfc8fbfdf91..00000000000
--- a/changelogs/unreleased/api-delete-respect-headers.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: 'API: Respect the "If-Unmodified-Since" header when delting a resource'
-merge_request: 9621
-author: Robert Schilling
-type: added
diff --git a/changelogs/unreleased/api-gpg-key-management.yml b/changelogs/unreleased/api-gpg-key-management.yml
deleted file mode 100644
index 0be35a5823b..00000000000
--- a/changelogs/unreleased/api-gpg-key-management.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: 'API: Add GPG key management'
-merge_request: 13828
-author: Robert Schilling
-type: added
diff --git a/changelogs/unreleased/api_branches_head.yml b/changelogs/unreleased/api_branches_head.yml
deleted file mode 100644
index 68d8d3d5168..00000000000
--- a/changelogs/unreleased/api_branches_head.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add branch existence check to the APIv4 branches via HEAD request
-merge_request: 13979
-author: Vitaliy @blackst0ne Klachkov
-type: added
diff --git a/changelogs/unreleased/backstage-gb-after-save-asynchronous-job-hooks.yml b/changelogs/unreleased/backstage-gb-after-save-asynchronous-job-hooks.yml
deleted file mode 100644
index fd0b7c4f43c..00000000000
--- a/changelogs/unreleased/backstage-gb-after-save-asynchronous-job-hooks.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fire hooks asynchronously when creating a new job to improve performance
-merge_request: 13734
-author:
-type: changed
diff --git a/changelogs/unreleased/bump-omniauth-ldap-gem-version-2-0-4.yml b/changelogs/unreleased/bump-omniauth-ldap-gem-version-2-0-4.yml
deleted file mode 100644
index 7571999fa75..00000000000
--- a/changelogs/unreleased/bump-omniauth-ldap-gem-version-2-0-4.yml
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: Bumps omniauth-ldap gem version to 2.0.4
-merge_request: 13465
-author:
diff --git a/changelogs/unreleased/bvl-improve-bare-project-import.yml b/changelogs/unreleased/bvl-improve-bare-project-import.yml
deleted file mode 100644
index 74c1da4ea40..00000000000
--- a/changelogs/unreleased/bvl-improve-bare-project-import.yml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: 'Improve bare project import: Allow subgroups, take default visibility level
- into account'
-merge_request: 13670
-author:
-type: fixed
diff --git a/changelogs/unreleased/bvl-validate-po-files.yml b/changelogs/unreleased/bvl-validate-po-files.yml
deleted file mode 100644
index f840b2c3973..00000000000
--- a/changelogs/unreleased/bvl-validate-po-files.yml
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: Validate PO-files in static analysis
-merge_request: 13000
-author:
diff --git a/changelogs/unreleased/cache-issue-and-mr-counts.yml b/changelogs/unreleased/cache-issue-and-mr-counts.yml
deleted file mode 100644
index fe3fe3be976..00000000000
--- a/changelogs/unreleased/cache-issue-and-mr-counts.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Cache the number of open issues and merge requests
-merge_request:
-author:
-type: other
diff --git a/changelogs/unreleased/changes-tab-jumping.yml b/changelogs/unreleased/changes-tab-jumping.yml
deleted file mode 100644
index 5740dfade9f..00000000000
--- a/changelogs/unreleased/changes-tab-jumping.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fixed merge request changes bar jumping
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/ci-environment-status-performance.yml b/changelogs/unreleased/ci-environment-status-performance.yml
deleted file mode 100644
index 8812733b5a7..00000000000
--- a/changelogs/unreleased/ci-environment-status-performance.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Constrain environment deployments to project IDs
-merge_request:
-author:
-type: other
diff --git a/changelogs/unreleased/collapsable-pipeline-settings.yml b/changelogs/unreleased/collapsable-pipeline-settings.yml
deleted file mode 100644
index d41959f8ab0..00000000000
--- a/changelogs/unreleased/collapsable-pipeline-settings.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add collapsable sections for Pipeline Settings
-merge_request:
-author:
-type: added
diff --git a/changelogs/unreleased/conv-dev-index-regression.yml b/changelogs/unreleased/conv-dev-index-regression.yml
deleted file mode 100644
index 799eafa4265..00000000000
--- a/changelogs/unreleased/conv-dev-index-regression.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix ConvDev Index nav item and Monitoring submenu regression
-merge_request: !14124
-author:
-type: fixed
diff --git a/changelogs/unreleased/dashboards-projects-controller.yml b/changelogs/unreleased/dashboards-projects-controller.yml
deleted file mode 100644
index 8b350f70a80..00000000000
--- a/changelogs/unreleased/dashboards-projects-controller.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Eager load namespace owners for project dashboards
-merge_request:
-author:
-type: other
diff --git a/changelogs/unreleased/detect-orphaned-repositories.yml b/changelogs/unreleased/detect-orphaned-repositories.yml
deleted file mode 100644
index 101c1897826..00000000000
--- a/changelogs/unreleased/detect-orphaned-repositories.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Scripts to detect orphaned repositories
-merge_request: 14204
-author:
-type: added
diff --git a/changelogs/unreleased/disable-project-export.yml b/changelogs/unreleased/disable-project-export.yml
deleted file mode 100644
index d7ca9f46193..00000000000
--- a/changelogs/unreleased/disable-project-export.yml
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: Add option to disable project export on instance
-merge_request: 13211
-author: Robin Bobbitt
diff --git a/changelogs/unreleased/disallow-null-values-for-environments-project-id.yml b/changelogs/unreleased/disallow-null-values-for-environments-project-id.yml
deleted file mode 100644
index f4a956e6724..00000000000
--- a/changelogs/unreleased/disallow-null-values-for-environments-project-id.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: "Disallow NULL values for environments.project_id"
-merge_request:
-author:
-type: other
diff --git a/changelogs/unreleased/do-not-perform-disk-check.yml b/changelogs/unreleased/do-not-perform-disk-check.yml
deleted file mode 100644
index cc139ee2c9e..00000000000
--- a/changelogs/unreleased/do-not-perform-disk-check.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: File uploaders do not perform hard check, only soft check
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/docs-document-version-for-group-milestones-api.yml b/changelogs/unreleased/docs-document-version-for-group-milestones-api.yml
deleted file mode 100644
index d75c46313f4..00000000000
--- a/changelogs/unreleased/docs-document-version-for-group-milestones-api.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Document version Group Milestones API introduced
-merge_request:
-author:
-type: changed
diff --git a/changelogs/unreleased/docs-fix-15669-issue-move-api.yml b/changelogs/unreleased/docs-fix-15669-issue-move-api.yml
deleted file mode 100644
index db68428fda3..00000000000
--- a/changelogs/unreleased/docs-fix-15669-issue-move-api.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add to_project_id parameter to Move Issue via API example
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/docs-update-ci-docker-using-docker-images.yml b/changelogs/unreleased/docs-update-ci-docker-using-docker-images.yml
deleted file mode 100644
index d8a5073f110..00000000000
--- a/changelogs/unreleased/docs-update-ci-docker-using-docker-images.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Update 'Using Docker images' documentation
-merge_request: 13848
-author:
-type: other
diff --git a/changelogs/unreleased/dont-remove-add-diff-btn-on-post.yml b/changelogs/unreleased/dont-remove-add-diff-btn-on-post.yml
deleted file mode 100644
index a7db18dbd60..00000000000
--- a/changelogs/unreleased/dont-remove-add-diff-btn-on-post.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fixed add diff note button not showing after deleting a comment
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/ee-add-project-repository-storages-index.yml b/changelogs/unreleased/ee-add-project-repository-storages-index.yml
new file mode 100644
index 00000000000..8a144783cec
--- /dev/null
+++ b/changelogs/unreleased/ee-add-project-repository-storages-index.yml
@@ -0,0 +1,5 @@
+---
+title: Index projects on repository storage
+merge_request: 14414
+author:
+type: other
diff --git a/changelogs/unreleased/events-migration-cleanup.yml b/changelogs/unreleased/events-migration-cleanup.yml
deleted file mode 100644
index 1e3e843f252..00000000000
--- a/changelogs/unreleased/events-migration-cleanup.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Finish migration to the new events setup
-merge_request:
-author:
-type: changed
diff --git a/changelogs/unreleased/events-redundant-where.yml b/changelogs/unreleased/events-redundant-where.yml
deleted file mode 100644
index a118a2e33e1..00000000000
--- a/changelogs/unreleased/events-redundant-where.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Remove redundant WHERE from event queries
-merge_request:
-author:
-type: other
diff --git a/changelogs/unreleased/feature-dependency-status-badge.yml b/changelogs/unreleased/feature-dependency-status-badge.yml
deleted file mode 100644
index 1becff3585a..00000000000
--- a/changelogs/unreleased/feature-dependency-status-badge.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add badge for dependency status
-merge_request: 13588
-author: Markus Koller
-type: other
diff --git a/changelogs/unreleased/feature-gb-download-single-job-artifact-using-api.yml b/changelogs/unreleased/feature-gb-download-single-job-artifact-using-api.yml
deleted file mode 100644
index 920679ca166..00000000000
--- a/changelogs/unreleased/feature-gb-download-single-job-artifact-using-api.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Make it possible to download a single job artifact file using the API
-merge_request: 14027
-author:
-type: added
diff --git a/changelogs/unreleased/feature-gb-kubernetes-only-pipeline-jobs.yml b/changelogs/unreleased/feature-gb-kubernetes-only-pipeline-jobs.yml
deleted file mode 100644
index 00c38a0c671..00000000000
--- a/changelogs/unreleased/feature-gb-kubernetes-only-pipeline-jobs.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add CI/CD active kubernetes job policy
-merge_request: 13849
-author:
-type: added
diff --git a/changelogs/unreleased/feature-plantuml-restructured-text.yml b/changelogs/unreleased/feature-plantuml-restructured-text.yml
deleted file mode 100644
index b885029f589..00000000000
--- a/changelogs/unreleased/feature-plantuml-restructured-text.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add documentation for PlantUML in reStructuredText
-merge_request: 13900
-author: Markus Koller
-type: other
diff --git a/changelogs/unreleased/feature-sm-33281-protected-runner-executes-jobs-on-protected-branch.yml b/changelogs/unreleased/feature-sm-33281-protected-runner-executes-jobs-on-protected-branch.yml
deleted file mode 100644
index b57b9a3dfbe..00000000000
--- a/changelogs/unreleased/feature-sm-33281-protected-runner-executes-jobs-on-protected-branch.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Protected runners
-merge_request: 13194
-author:
-type: added
diff --git a/changelogs/unreleased/feature-sm-34518-extend-api-pipeline-schedule-variable-new.yml b/changelogs/unreleased/feature-sm-34518-extend-api-pipeline-schedule-variable-new.yml
deleted file mode 100644
index 969a5aeaed3..00000000000
--- a/changelogs/unreleased/feature-sm-34518-extend-api-pipeline-schedule-variable-new.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: 'Extend API: Pipeline Schedule Variable'
-merge_request: 13653
-author:
-type: added
diff --git a/changelogs/unreleased/feature-sm-37239-implement-failure_reason-on-ci_builds.yml b/changelogs/unreleased/feature-sm-37239-implement-failure_reason-on-ci_builds.yml
deleted file mode 100644
index 006b0b45844..00000000000
--- a/changelogs/unreleased/feature-sm-37239-implement-failure_reason-on-ci_builds.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Implement `failure_reason` on `ci_builds`
-merge_request: 13937
-author:
-type: added
diff --git a/changelogs/unreleased/fix-btn-alignment.yml b/changelogs/unreleased/fix-btn-alignment.yml
deleted file mode 100644
index e5dce3d3a0e..00000000000
--- a/changelogs/unreleased/fix-btn-alignment.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix inconsistent spacing for edit buttons on issues and merge request page
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/fix-edit-merge-request-button-case.yml b/changelogs/unreleased/fix-edit-merge-request-button-case.yml
deleted file mode 100644
index 8550f3e3c1b..00000000000
--- a/changelogs/unreleased/fix-edit-merge-request-button-case.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix edit merge request and issues button inconsistent letter casing
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/fix-gb-fix-moving-issue-with-ambiguous-references.yml b/changelogs/unreleased/fix-gb-fix-moving-issue-with-ambiguous-references.yml
deleted file mode 100644
index f90766ef6d2..00000000000
--- a/changelogs/unreleased/fix-gb-fix-moving-issue-with-ambiguous-references.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix errors when moving issue with reference to a group milestone
-merge_request: 14294
-author:
-type: fixed
diff --git a/changelogs/unreleased/fix-import-export-performance.yml b/changelogs/unreleased/fix-import-export-performance.yml
deleted file mode 100644
index 1f59c4eb179..00000000000
--- a/changelogs/unreleased/fix-import-export-performance.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Improve Import/Export memory usage
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/fix-import-fork-mr.yml b/changelogs/unreleased/fix-import-fork-mr.yml
deleted file mode 100644
index 4e9cf7faae8..00000000000
--- a/changelogs/unreleased/fix-import-fork-mr.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix Import/Export issue to do with fork merge requests
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/fix-npm-security-updates.yml b/changelogs/unreleased/fix-npm-security-updates.yml
deleted file mode 100644
index faa0c3149b8..00000000000
--- a/changelogs/unreleased/fix-npm-security-updates.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Upgrade brace-expansion NPM package due to security issue
-merge_request: 13665
-author: Markus Koller
-type: security
diff --git a/changelogs/unreleased/fix-stray-or-in-project-create-ui.yml b/changelogs/unreleased/fix-stray-or-in-project-create-ui.yml
deleted file mode 100644
index ae4df3ee31a..00000000000
--- a/changelogs/unreleased/fix-stray-or-in-project-create-ui.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix stray OR in New Project page
-merge_request: 14096
-author: Robin Bobbitt
-type: fixed
diff --git a/changelogs/unreleased/fix_typo_in_deploy_keys_docs.yml b/changelogs/unreleased/fix_typo_in_deploy_keys_docs.yml
deleted file mode 100644
index fa50e36e28a..00000000000
--- a/changelogs/unreleased/fix_typo_in_deploy_keys_docs.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix typo in the API Deploy Keys documentation page
-merge_request: 14014
-author: Vitaliy @blackst0ne Klachkov
-type: fixed
diff --git a/changelogs/unreleased/fix_wiki_toc_indent.yml b/changelogs/unreleased/fix_wiki_toc_indent.yml
deleted file mode 100644
index 60da2e455f2..00000000000
--- a/changelogs/unreleased/fix_wiki_toc_indent.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Wiki table of contents are now properly nested to reflect header level
-merge_request: 13650
-author: Akihiro Nakashima
-type: fixed
diff --git a/changelogs/unreleased/font-weight-adjusted.yml b/changelogs/unreleased/font-weight-adjusted.yml
deleted file mode 100644
index 827f3485099..00000000000
--- a/changelogs/unreleased/font-weight-adjusted.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Changed all font-weight values to 400 and 600 and introduced 2 variables to
- manage them
-merge_request: !12896
-author:
diff --git a/changelogs/unreleased/fuzzy-issue-search.yml b/changelogs/unreleased/fuzzy-issue-search.yml
deleted file mode 100644
index 8195e97ed59..00000000000
--- a/changelogs/unreleased/fuzzy-issue-search.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Support a multi-word fuzzy seach issues/merge requests on search bar
-merge_request: 13780
-author: Hiroyuki Sato
-type: changed
diff --git a/changelogs/unreleased/gitaly-feature-toggles-development-opt-out.yml b/changelogs/unreleased/gitaly-feature-toggles-development-opt-out.yml
deleted file mode 100644
index 90c25d782c8..00000000000
--- a/changelogs/unreleased/gitaly-feature-toggles-development-opt-out.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Gitaly feature toggles are on by default in development
-merge_request: 13802
-author:
-type: other
diff --git a/changelogs/unreleased/gitaly-post-upload-pack-mandatory.yml b/changelogs/unreleased/gitaly-post-upload-pack-mandatory.yml
deleted file mode 100644
index edf11484d1f..00000000000
--- a/changelogs/unreleased/gitaly-post-upload-pack-mandatory.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Make Gitaly PostUploadPack mandatory
-merge_request: 13953
-author:
-type: changed
diff --git a/changelogs/unreleased/gitaly_ref_exists.yml b/changelogs/unreleased/gitaly_ref_exists.yml
deleted file mode 100644
index f62b646e406..00000000000
--- a/changelogs/unreleased/gitaly_ref_exists.yml
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: Implement the Gitaly RefService::RefExists endpoint
-merge_request: 13528
-author: Andrew Newdigate
diff --git a/changelogs/unreleased/group-mr-search-bar.yml b/changelogs/unreleased/group-mr-search-bar.yml
deleted file mode 100644
index 0b554a5d7c9..00000000000
--- a/changelogs/unreleased/group-mr-search-bar.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add filtered search to group merge requests dashboard
-merge_request: 13688
-author: Hiroyuki Sato
-type: changed
diff --git a/changelogs/unreleased/improve-autocomplete-user-performance.yml b/changelogs/unreleased/improve-autocomplete-user-performance.yml
deleted file mode 100644
index 5a7153771ff..00000000000
--- a/changelogs/unreleased/improve-autocomplete-user-performance.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Improve performance for AutocompleteController#users.json
-merge_request: 13754
-author: Hiroyuki Sato
-type: changed
diff --git a/changelogs/unreleased/improve-share-locking-feature-for-subgroups.yml b/changelogs/unreleased/improve-share-locking-feature-for-subgroups.yml
deleted file mode 100644
index ec0d1b245e4..00000000000
--- a/changelogs/unreleased/improve-share-locking-feature-for-subgroups.yml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: '"Share with group lock" now applies to subgroups, but owner can override setting
- on subgroups'
-merge_request: 13944
-author:
-type: changed
diff --git a/changelogs/unreleased/issue-api-my-reaction.yml b/changelogs/unreleased/issue-api-my-reaction.yml
deleted file mode 100644
index 1c12478fbc0..00000000000
--- a/changelogs/unreleased/issue-api-my-reaction.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add my_reaction_emoji param to /issues and /merge_requests API
-merge_request: 14016
-author: Hiroyuki Sato
-type: added
diff --git a/changelogs/unreleased/issue-boards-breadcrumbs-container.yml b/changelogs/unreleased/issue-boards-breadcrumbs-container.yml
deleted file mode 100644
index 5e042de7000..00000000000
--- a/changelogs/unreleased/issue-boards-breadcrumbs-container.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix breadcrumbs container in issue boards
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/memoize-the-latest-builds-of-a-pipeline.yml b/changelogs/unreleased/memoize-the-latest-builds-of-a-pipeline.yml
deleted file mode 100644
index 5a7cd42b888..00000000000
--- a/changelogs/unreleased/memoize-the-latest-builds-of-a-pipeline.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: "Memoize the latest builds of a pipeline on a project's homepage"
-merge_request:
-author:
-type: other
diff --git a/changelogs/unreleased/mk-default-ldap-verify-certificates-secure.yml b/changelogs/unreleased/mk-default-ldap-verify-certificates-secure.yml
deleted file mode 100644
index 865b57fb284..00000000000
--- a/changelogs/unreleased/mk-default-ldap-verify-certificates-secure.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Default LDAP config "verify_certificates" to true for security
-merge_request: 13915
-author:
-type: changed
diff --git a/changelogs/unreleased/move-action.yml b/changelogs/unreleased/move-action.yml
deleted file mode 100644
index 65eceae3ef9..00000000000
--- a/changelogs/unreleased/move-action.yml
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: Allow users to move issues to other projects using a / command
-merge_request: 13436
-author: Manolis Mavrofidis
diff --git a/changelogs/unreleased/mr-index-page-performance.yml b/changelogs/unreleased/mr-index-page-performance.yml
deleted file mode 100644
index df5f44c04fa..00000000000
--- a/changelogs/unreleased/mr-index-page-performance.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Re-use issue/MR counts for the pagination system
-merge_request:
-author:
-type: other
diff --git a/changelogs/unreleased/projects-controller-show.yml b/changelogs/unreleased/projects-controller-show.yml
deleted file mode 100644
index 25f4a72710b..00000000000
--- a/changelogs/unreleased/projects-controller-show.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Memoize pipelines for project download buttons
-merge_request:
-author:
-type: other
diff --git a/changelogs/unreleased/reoganize-deployment-indexes.yml b/changelogs/unreleased/reoganize-deployment-indexes.yml
deleted file mode 100644
index 87734b4fe4b..00000000000
--- a/changelogs/unreleased/reoganize-deployment-indexes.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Reorganize indexes for the "deployments" table
-merge_request:
-author:
-type: other
diff --git a/changelogs/unreleased/replace_project_shortcuts-feature.yml b/changelogs/unreleased/replace_project_shortcuts-feature.yml
new file mode 100644
index 00000000000..89e47a7a983
--- /dev/null
+++ b/changelogs/unreleased/replace_project_shortcuts-feature.yml
@@ -0,0 +1,5 @@
+---
+title: Replace the 'project/shortcuts.feature' spinach test with an rspec analog
+merge_request: 14431
+author: Vitaliy @blackst0ne Klachkov
+type: other
diff --git a/changelogs/unreleased/replace_spinach_search_code-feature.yml b/changelogs/unreleased/replace_spinach_search_code-feature.yml
deleted file mode 100644
index 28d2108c871..00000000000
--- a/changelogs/unreleased/replace_spinach_search_code-feature.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Replace 'source/search_code.feature' spinach test with an rspec analog
-merge_request: 13697
-author: blackst0ne
-type: other
diff --git a/changelogs/unreleased/replace_spinach_star-feature.yml b/changelogs/unreleased/replace_spinach_star-feature.yml
deleted file mode 100644
index 6a058691fe5..00000000000
--- a/changelogs/unreleased/replace_spinach_star-feature.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Replace 'project/star.feature' spinach test with an rspec analog
-merge_request: 13855
-author: Vitaliy @blackst0ne Klachkov
-type: other
diff --git a/changelogs/unreleased/replace_spinach_user_lookup-feature.yml b/changelogs/unreleased/replace_spinach_user_lookup-feature.yml
deleted file mode 100644
index 36248c54d99..00000000000
--- a/changelogs/unreleased/replace_spinach_user_lookup-feature.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Replace 'project/user_lookup.feature' spinach test with an rspec analog
-merge_request: 13863
-author: Vitaliy @blackst0ne Klachkov
-type: other
diff --git a/changelogs/unreleased/rouge-2-2-0.yml b/changelogs/unreleased/rouge-2-2-0.yml
deleted file mode 100644
index 0b53cd14628..00000000000
--- a/changelogs/unreleased/rouge-2-2-0.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Bump rouge to v2.2.0
-merge_request: 13633
-author:
-type: other
diff --git a/changelogs/unreleased/rouge-2-2-1.yml b/changelogs/unreleased/rouge-2-2-1.yml
deleted file mode 100644
index 2d8879e5574..00000000000
--- a/changelogs/unreleased/rouge-2-2-1.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Bump rouge to v2.2.1
-merge_request: 13887
-author:
-type: other
diff --git a/changelogs/unreleased/seven-days-cycle-analytics.yml b/changelogs/unreleased/seven-days-cycle-analytics.yml
deleted file mode 100644
index ff660bdd603..00000000000
--- a/changelogs/unreleased/seven-days-cycle-analytics.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add a `Last 7 days` option for Cycle Analytics view
-merge_request: 13443
-author: Mehdi Lahmam (@mehlah)
-type: added
diff --git a/changelogs/unreleased/sh-add-grape-logging.yml b/changelogs/unreleased/sh-add-grape-logging.yml
deleted file mode 100644
index eaf6cb045d5..00000000000
--- a/changelogs/unreleased/sh-add-grape-logging.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add JSON logger in `log/api_json.log` for Grape API endpoints
-merge_request:
-author:
-type: added
diff --git a/changelogs/unreleased/sh-bump-jira-gem.yml b/changelogs/unreleased/sh-bump-jira-gem.yml
deleted file mode 100644
index d76b688caac..00000000000
--- a/changelogs/unreleased/sh-bump-jira-gem.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Bump jira-ruby gem to 1.4.1 to fix issues with HTTP proxies
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/sh-optimize-discussion-json.yml b/changelogs/unreleased/sh-optimize-discussion-json.yml
deleted file mode 100644
index 4be1bc89a91..00000000000
--- a/changelogs/unreleased/sh-optimize-discussion-json.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Eliminate N+1 queries in loading discussions.json endpoint
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/sh-project-feature-eager-load.yml b/changelogs/unreleased/sh-project-feature-eager-load.yml
deleted file mode 100644
index 406ef119a14..00000000000
--- a/changelogs/unreleased/sh-project-feature-eager-load.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Eliminate N+1 queries referencing issues
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/sh-stop-loading-issue-discussions.yml b/changelogs/unreleased/sh-stop-loading-issue-discussions.yml
deleted file mode 100644
index 5e7b7387c0d..00000000000
--- a/changelogs/unreleased/sh-stop-loading-issue-discussions.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Remove unnecessary loading of discussions in `IssuesController#show`
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/sidebar-cache-updates.yml b/changelogs/unreleased/sidebar-cache-updates.yml
deleted file mode 100644
index aebe53ba5b2..00000000000
--- a/changelogs/unreleased/sidebar-cache-updates.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Only update the sidebar count caches when needed
-merge_request:
-author:
-type: other
diff --git a/changelogs/unreleased/sm-cherry-pick-list-commits-in-message.yml b/changelogs/unreleased/sm-cherry-pick-list-commits-in-message.yml
deleted file mode 100644
index 602ca358b8b..00000000000
--- a/changelogs/unreleased/sm-cherry-pick-list-commits-in-message.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add 'from commit' information to cherry-picked commits
-merge_request: 13475
-author: Saverio Miroddi
-type: added
diff --git a/changelogs/unreleased/support-additional-colors.yml b/changelogs/unreleased/support-additional-colors.yml
deleted file mode 100644
index 5178e159dcf..00000000000
--- a/changelogs/unreleased/support-additional-colors.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Added support for specific labels and colors
-merge_request:
-author:
-type: changed
diff --git a/changelogs/unreleased/tc-remove-nonexisting-namespace-pending-delete-projects.yml b/changelogs/unreleased/tc-remove-nonexisting-namespace-pending-delete-projects.yml
deleted file mode 100644
index 218336df5d2..00000000000
--- a/changelogs/unreleased/tc-remove-nonexisting-namespace-pending-delete-projects.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Migration to remove pending delete projects with non-existing namespace
-merge_request: 13598
-author:
-type: other
diff --git a/changelogs/unreleased/use_full_path_in_project_avatar_url_webhook.yml b/changelogs/unreleased/use_full_path_in_project_avatar_url_webhook.yml
deleted file mode 100644
index 0c3acce1455..00000000000
--- a/changelogs/unreleased/use_full_path_in_project_avatar_url_webhook.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Use full path of project's avatar in webhooks
-merge_request: 13649
-author: Vitaliy @blackst0ne Klachkov
-type: changed
diff --git a/changelogs/unreleased/user-recent-push.yml b/changelogs/unreleased/user-recent-push.yml
deleted file mode 100644
index defd5cdfd8e..00000000000
--- a/changelogs/unreleased/user-recent-push.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Rework how recent push events are retrieved
-merge_request:
-author:
-type: other
diff --git a/changelogs/unreleased/wiki_api.yml b/changelogs/unreleased/wiki_api.yml
deleted file mode 100644
index 9d60356aedc..00000000000
--- a/changelogs/unreleased/wiki_api.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add API support for wiki pages
-merge_request: 13372
-author: Vitaliy @blackst0ne Klachkov
-type: added
diff --git a/changelogs/unreleased/winh-dropdown-changelog-docs.yml b/changelogs/unreleased/winh-dropdown-changelog-docs.yml
deleted file mode 100644
index 2f42b4dd9f9..00000000000
--- a/changelogs/unreleased/winh-dropdown-changelog-docs.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Restyle dropdown menus to make them look consistent
-merge_request:
-author:
-type: other
diff --git a/changelogs/unreleased/zj-add-pipeline-source-variable.yml b/changelogs/unreleased/zj-add-pipeline-source-variable.yml
deleted file mode 100644
index 5d98cd8086a..00000000000
--- a/changelogs/unreleased/zj-add-pipeline-source-variable.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add CI_PIPELINE_SOURCE variable on CI Jobs
-merge_request:
-author:
-type: added
diff --git a/changelogs/unreleased/zj-auto-devops-banner.yml b/changelogs/unreleased/zj-auto-devops-banner.yml
deleted file mode 100644
index a2abed0b2ec..00000000000
--- a/changelogs/unreleased/zj-auto-devops-banner.yml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Do not show the Auto DevOps banner when the project has a .gitlab-ci.yml on
- master
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/zj-auto-devops-table.yml b/changelogs/unreleased/zj-auto-devops-table.yml
deleted file mode 100644
index f1a004ebd19..00000000000
--- a/changelogs/unreleased/zj-auto-devops-table.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Allow users and administrator to configure Auto-DevOps
-merge_request: 13923
-author:
-type: added
diff --git a/changelogs/unreleased/zj-disable-pages-in-subgroups.yml b/changelogs/unreleased/zj-disable-pages-in-subgroups.yml
deleted file mode 100644
index 22c36214e1f..00000000000
--- a/changelogs/unreleased/zj-disable-pages-in-subgroups.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Remove pages settings when not available
-merge_request:
-author:
-type: changed
diff --git a/changelogs/unreleased/zj-feature-flipper-disable-banner.yml b/changelogs/unreleased/zj-feature-flipper-disable-banner.yml
deleted file mode 100644
index fd5dd1bbe37..00000000000
--- a/changelogs/unreleased/zj-feature-flipper-disable-banner.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Allow all AutoDevOps banners to be turned off
-merge_request:
-author:
-type: changed
diff --git a/changelogs/unreleased/zj-remove-ci-api-v1.yml b/changelogs/unreleased/zj-remove-ci-api-v1.yml
deleted file mode 100644
index 8f2dc321b36..00000000000
--- a/changelogs/unreleased/zj-remove-ci-api-v1.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Remove CI API v1
-merge_request:
-author:
-type: removed
diff --git a/changelogs/unreleased/zj-reword-job-to-pipeline-chart-view.yml b/changelogs/unreleased/zj-reword-job-to-pipeline-chart-view.yml
deleted file mode 100644
index 474392a8cdd..00000000000
--- a/changelogs/unreleased/zj-reword-job-to-pipeline-chart-view.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Reword job to pipeline to reflect what the graphs are really about
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/zj-sort-templates.yml b/changelogs/unreleased/zj-sort-templates.yml
deleted file mode 100644
index 443c4355890..00000000000
--- a/changelogs/unreleased/zj-sort-templates.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Sort templates in the dropdown
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/zj-update-rails-template.yml b/changelogs/unreleased/zj-update-rails-template.yml
deleted file mode 100644
index 5464f0e3d42..00000000000
--- a/changelogs/unreleased/zj-update-rails-template.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Update Rails project template to use Postgresql by default
-merge_request:
-author:
-type: changed
diff --git a/changelogs/unreleased/zj-upgrade-grape.yml b/changelogs/unreleased/zj-upgrade-grape.yml
deleted file mode 100644
index daa6a234c07..00000000000
--- a/changelogs/unreleased/zj-upgrade-grape.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Upgrade grape to 1.0
-merge_request:
-author:
-type: other
diff --git a/changelogs/unreleased/zj-usage-data-auto-devops.yml b/changelogs/unreleased/zj-usage-data-auto-devops.yml
deleted file mode 100644
index 9b5ec894042..00000000000
--- a/changelogs/unreleased/zj-usage-data-auto-devops.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add usage data for Auto DevOps
-merge_request:
-author:
-type: other
diff --git a/db/migrate/20170921115009_add_project_repository_storage_index.rb b/db/migrate/20170921115009_add_project_repository_storage_index.rb
new file mode 100644
index 00000000000..1c5a8fd65e1
--- /dev/null
+++ b/db/migrate/20170921115009_add_project_repository_storage_index.rb
@@ -0,0 +1,19 @@
+class AddProjectRepositoryStorageIndex < ActiveRecord::Migration
+ include Gitlab::Database::MigrationHelpers
+
+ DOWNTIME = false
+
+ disable_ddl_transaction!
+
+ def up
+ add_concurrent_index(*index_spec) unless index_exists?(*index_spec)
+ end
+
+ def down
+ remove_concurrent_index(*index_spec) if index_exists?(*index_spec)
+ end
+
+ def index_spec
+ [:projects, :repository_storage]
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 3ec430c0078..80ef91ec95d 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema.define(version: 20170918223303) do
+ActiveRecord::Schema.define(version: 20170921115009) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -1230,6 +1230,7 @@ ActiveRecord::Schema.define(version: 20170918223303) do
add_index "projects", ["path"], name: "index_projects_on_path", using: :btree
add_index "projects", ["path"], name: "index_projects_on_path_trigram", using: :gin, opclasses: {"path"=>"gin_trgm_ops"}
add_index "projects", ["pending_delete"], name: "index_projects_on_pending_delete", using: :btree
+ add_index "projects", ["repository_storage"], name: "index_projects_on_repository_storage", using: :btree
add_index "projects", ["runners_token"], name: "index_projects_on_runners_token", using: :btree
add_index "projects", ["star_count"], name: "index_projects_on_star_count", using: :btree
add_index "projects", ["visibility_level"], name: "index_projects_on_visibility_level", using: :btree
diff --git a/doc/development/ux_guide/basics.md b/doc/development/ux_guide/basics.md
index dcd5f677f25..e215026bcca 100644
--- a/doc/development/ux_guide/basics.md
+++ b/doc/development/ux_guide/basics.md
@@ -33,7 +33,7 @@ This is the typeface used for code blocks and references to commits, branches, a
## Icons
-GitLab has a strong, unique personality. When you look at any screen, you should know immediately know that it is GitLab.
+GitLab has a strong, unique personality. When you look at any screen, you should know immediately that it is GitLab.
Iconography is a powerful visual cue to the user and is a great way for us to reflect our particular sense of style.
- **Standard size:** 16px * 16px
diff --git a/doc/install/kubernetes/gitlab_omnibus.md b/doc/install/kubernetes/gitlab_omnibus.md
index 9d1280c3dc6..19e2a257c94 100644
--- a/doc/install/kubernetes/gitlab_omnibus.md
+++ b/doc/install/kubernetes/gitlab_omnibus.md
@@ -149,31 +149,19 @@ helm install --name gitlab --set baseDomain=gitlab.io,baseIP=1.1.1.1,gitlab=ee,g
## Updating GitLab using the Helm Chart
Once your GitLab Chart is installed, configuration changes and chart updates
-should we done using `helm upgrade`
+should we done using `helm upgrade`:
```bash
-helm upgrade -f <CONFIG_VALUES_FILE> <RELEASE-NAME> gitlab/gitlab
+helm upgrade -f values.yaml gitlab gitlab/gitlab-omnibus
```
-where:
-
-- `<CONFIG_VALUES_FILE>` is the path to values file containing your custom
- [configuration] (#configuring-and-installing-gitlab).
-- `<RELEASE-NAME>` is the name you gave the chart when installing it.
- In the [Install section](#installing-gitlab-using-the-helm-chart) we called it `gitlab`.
-
## Uninstalling GitLab using the Helm Chart
To uninstall the GitLab Chart, run the following:
```bash
-helm delete <RELEASE-NAME>
+helm delete gitlab
```
-where:
-
-- `<RELEASE-NAME>` is the name you gave the chart when installing it.
- In the [Install section](#installing) we called it `gitlab`.
-
[kube-srv]: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services---service-types
[storageclass]: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#storageclasses
diff --git a/doc/user/markdown.md b/doc/user/markdown.md
index b42b8f0a525..454988b9b80 100644
--- a/doc/user/markdown.md
+++ b/doc/user/markdown.md
@@ -596,6 +596,30 @@ See the documentation for HTML::Pipeline's [SanitizationFilter](http://www.rubyd
<dd>Does *not* work **very** well. Use HTML <em>tags</em>.</dd>
</dl>
+#### Details and Summary
+
+Content can be collapsed using HTML's [`<details>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details) and [`<summary>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/summary) tags. This is especially useful for collapsing long logs so they take up less screen space.
+
+<p>
+<details>
+<summary>Click me to collapse/fold.</summary>
+These details will remain hidden until expanded.
+
+<pre><code>PASTE LOGS HERE</code></pre>
+</details>
+</p>
+
+**Note:** Unfortunately Markdown is not supported inside these tags, as described by the [markdown specification](https://daringfireball.net/projects/markdown/syntax#html). You can work around this by using HTML, for example you can use `<pre><code>` tags instead of [code fences](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/user/markdown.md#code-and-syntax-highlighting).
+
+```html
+<details>
+<summary>Click me to collapse/fold.</summary>
+These details will remain hidden until expanded.
+
+<pre><code>PASTE LOGS HERE</code></pre>
+</details>
+```
+
### Horizontal Rule
```
diff --git a/features/project/shortcuts.feature b/features/project/shortcuts.feature
deleted file mode 100644
index cbbea237825..00000000000
--- a/features/project/shortcuts.feature
+++ /dev/null
@@ -1,63 +0,0 @@
-@dashboard
-Feature: Project Shortcuts
- Background:
- Given I sign in as a user
- And I own a project
- And I visit my project's commits page
-
- @javascript
- Scenario: Navigate to files tab
- Given I press "g" and "f"
- Then the active main tab should be Repository
- Then the active sub tab should be Files
-
- @javascript
- Scenario: Navigate to commits tab
- Given I visit my project's files page
- Given I press "g" and "c"
- Then the active main tab should be Repository
- Then the active sub tab should be Commits
-
- @javascript
- Scenario: Navigate to graph tab
- Given I press "g" and "n"
- Then the active sub tab should be Graph
- And the active main tab should be Repository
-
- @javascript
- Scenario: Navigate to repository charts tab
- Given I press "g" and "d"
- Then the active sub tab should be Charts
- And the active main tab should be Repository
-
- @javascript
- Scenario: Navigate to issues tab
- Given I press "g" and "i"
- Then the active main tab should be Issues
-
- @javascript
- Scenario: Navigate to merge requests tab
- Given I press "g" and "m"
- Then the active main tab should be Merge Requests
-
- @javascript
- Scenario: Navigate to snippets tab
- Given I press "g" and "s"
- Then the active main tab should be Snippets
-
- @javascript
- Scenario: Navigate to wiki tab
- Given I press "g" and "w"
- Then the active main tab should be Wiki
-
- @javascript
- Scenario: Navigate to project home
- Given I press "g" and "p"
- Then the active sub tab should be Home
- And the active main tab should be Project
-
- @javascript
- Scenario: Navigate to project feed
- Given I press "g" and "e"
- Then the active sub tab should be Activity
- And the active main tab should be Project
diff --git a/features/steps/project/project_shortcuts.rb b/features/steps/project/project_shortcuts.rb
deleted file mode 100644
index cebf09750b0..00000000000
--- a/features/steps/project/project_shortcuts.rb
+++ /dev/null
@@ -1,42 +0,0 @@
-class Spinach::Features::ProjectShortcuts < Spinach::FeatureSteps
- include SharedAuthentication
- include SharedPaths
- include SharedProject
- include SharedProjectTab
- include SharedShortcuts
-
- step 'I press "g" and "f"' do
- find('body').native.send_key('g')
- find('body').native.send_key('f')
- end
-
- step 'I press "g" and "c"' do
- find('body').native.send_key('g')
- find('body').native.send_key('c')
- end
-
- step 'I press "g" and "n"' do
- find('body').native.send_key('g')
- find('body').native.send_key('n')
- end
-
- step 'I press "g" and "d"' do
- find('body').native.send_key('g')
- find('body').native.send_key('d')
- end
-
- step 'I press "g" and "s"' do
- find('body').native.send_key('g')
- find('body').native.send_key('s')
- end
-
- step 'I press "g" and "w"' do
- find('body').native.send_key('g')
- find('body').native.send_key('w')
- end
-
- step 'I press "g" and "e"' do
- find('body').native.send_key('g')
- find('body').native.send_key('e')
- end
-end
diff --git a/lib/gitlab/data_builder/push.rb b/lib/gitlab/data_builder/push.rb
index 4ab5b3455a5..31a46a738c3 100644
--- a/lib/gitlab/data_builder/push.rb
+++ b/lib/gitlab/data_builder/push.rb
@@ -64,8 +64,11 @@ module Gitlab
# For performance purposes maximum 20 latest commits
# will be passed as post receive hook data.
- commit_attrs = commits_limited.map do |commit|
- commit.hook_attrs(with_changed_files: true)
+ # n+1: https://gitlab.com/gitlab-org/gitlab-ce/issues/38259
+ commit_attrs = Gitlab::GitalyClient.allow_n_plus_1_calls do
+ commits_limited.map do |commit|
+ commit.hook_attrs(with_changed_files: true)
+ end
end
type = Gitlab::Git.tag_ref?(ref) ? 'tag_push' : 'push'
diff --git a/lib/gitlab/diff/file.rb b/lib/gitlab/diff/file.rb
index 1dabd4ebdd0..fcac85ff892 100644
--- a/lib/gitlab/diff/file.rb
+++ b/lib/gitlab/diff/file.rb
@@ -5,7 +5,7 @@ module Gitlab
delegate :new_file?, :deleted_file?, :renamed_file?,
:old_path, :new_path, :a_mode, :b_mode, :mode_changed?,
- :submodule?, :expanded?, :too_large?, :collapsed?, :line_count, to: :diff, prefix: false
+ :submodule?, :expanded?, :too_large?, :collapsed?, :line_count, :has_binary_notice?, to: :diff, prefix: false
# Finding a viewer for a diff file happens based only on extension and whether the
# diff file blobs are binary or text, which means 1 diff file should only be matched by 1 viewer,
@@ -166,7 +166,7 @@ module Gitlab
end
def binary?
- old_blob&.binary? || new_blob&.binary?
+ has_binary_notice? || old_blob&.binary? || new_blob&.binary?
end
def text?
diff --git a/lib/gitlab/git/blob.rb b/lib/gitlab/git/blob.rb
index 8d96826f6ee..a4336facee5 100644
--- a/lib/gitlab/git/blob.rb
+++ b/lib/gitlab/git/blob.rb
@@ -32,6 +32,8 @@ module Gitlab
else
blob = repository.lookup(sha)
+ next unless blob.is_a?(Rugged::Blob)
+
new(
id: blob.oid,
size: blob.size,
diff --git a/lib/gitlab/git/diff.rb b/lib/gitlab/git/diff.rb
index a23c8cf0dd1..096301d300f 100644
--- a/lib/gitlab/git/diff.rb
+++ b/lib/gitlab/git/diff.rb
@@ -206,6 +206,10 @@ module Gitlab
Diff.binary_message(@old_path, @new_path)
end
+ def has_binary_notice?
+ @diff.start_with?('Binary')
+ end
+
private
def init_from_rugged(rugged)
diff --git a/lib/gitlab/git/repository.rb b/lib/gitlab/git/repository.rb
index 0be35034d24..10ba29acbd1 100644
--- a/lib/gitlab/git/repository.rb
+++ b/lib/gitlab/git/repository.rb
@@ -475,7 +475,15 @@ module Gitlab
# diff options. The +options+ hash can also include :break_rewrites to
# split larger rewrites into delete/add pairs.
def diff(from, to, options = {}, *paths)
- Gitlab::Git::DiffCollection.new(diff_patches(from, to, options, *paths), options)
+ iterator = gitaly_migrate(:diff_between) do |is_enabled|
+ if is_enabled
+ gitaly_commit_client.diff(from, to, options.merge(paths: paths))
+ else
+ diff_patches(from, to, options, *paths)
+ end
+ end
+
+ Gitlab::Git::DiffCollection.new(iterator, options)
end
# Returns a RefName for a given SHA
diff --git a/lib/gitlab/gitaly_client/commit_service.rb b/lib/gitlab/gitaly_client/commit_service.rb
index b536eb1868c..cf3a3554552 100644
--- a/lib/gitlab/gitaly_client/commit_service.rb
+++ b/lib/gitlab/gitaly_client/commit_service.rb
@@ -32,20 +32,38 @@ module Gitlab
GitalyClient.call(@repository.storage, :commit_service, :commit_is_ancestor, request).value
end
+ def diff(from, to, options = {})
+ from_id = case from
+ when NilClass
+ EMPTY_TREE_ID
+ when Rugged::Commit
+ from.oid
+ else
+ from
+ end
+
+ to_id = case to
+ when NilClass
+ EMPTY_TREE_ID
+ when Rugged::Commit
+ to.oid
+ else
+ to
+ end
+
+ request_params = diff_between_commits_request_params(from_id, to_id, options)
+
+ call_commit_diff(request_params, options)
+ end
+
def diff_from_parent(commit, options = {})
- request_params = commit_diff_request_params(commit, options)
- request_params[:ignore_whitespace_change] = options.fetch(:ignore_whitespace_change, false)
- request_params[:enforce_limits] = options.fetch(:limits, true)
- request_params[:collapse_diffs] = request_params[:enforce_limits] || !options.fetch(:expanded, true)
- request_params.merge!(Gitlab::Git::DiffCollection.collection_limits(options).to_h)
+ request_params = diff_from_parent_request_params(commit, options)
- request = Gitaly::CommitDiffRequest.new(request_params)
- response = GitalyClient.call(@repository.storage, :diff_service, :commit_diff, request)
- GitalyClient::DiffStitcher.new(response)
+ call_commit_diff(request_params, options)
end
def commit_deltas(commit)
- request = Gitaly::CommitDeltaRequest.new(commit_diff_request_params(commit))
+ request = Gitaly::CommitDeltaRequest.new(diff_from_parent_request_params(commit))
response = GitalyClient.call(@repository.storage, :diff_service, :commit_delta, request)
response.flat_map { |msg| msg.deltas }
@@ -214,13 +232,28 @@ module Gitlab
private
- def commit_diff_request_params(commit, options = {})
+ def call_commit_diff(request_params, options = {})
+ request_params[:ignore_whitespace_change] = options.fetch(:ignore_whitespace_change, false)
+ request_params[:enforce_limits] = options.fetch(:limits, true)
+ request_params[:collapse_diffs] = request_params[:enforce_limits] || !options.fetch(:expanded, true)
+ request_params.merge!(Gitlab::Git::DiffCollection.collection_limits(options).to_h)
+
+ request = Gitaly::CommitDiffRequest.new(request_params)
+ response = GitalyClient.call(@repository.storage, :diff_service, :commit_diff, request)
+ GitalyClient::DiffStitcher.new(response)
+ end
+
+ def diff_from_parent_request_params(commit, options = {})
parent_id = commit.parent_ids.first || EMPTY_TREE_ID
+ diff_between_commits_request_params(parent_id, commit.id, options)
+ end
+
+ def diff_between_commits_request_params(from_id, to_id, options)
{
repository: @gitaly_repo,
- left_commit_id: parent_id,
- right_commit_id: commit.id,
+ left_commit_id: from_id,
+ right_commit_id: to_id,
paths: options.fetch(:paths, []).map { |path| GitalyClient.encode(path) }
}
end
diff --git a/lib/gitlab/usage_data.rb b/lib/gitlab/usage_data.rb
index 36708078136..6857038dba8 100644
--- a/lib/gitlab/usage_data.rb
+++ b/lib/gitlab/usage_data.rb
@@ -9,12 +9,28 @@ module Gitlab
def uncached_data
license_usage_data.merge(system_usage_data)
+ .merge(features_usage_data)
+ .merge(components_usage_data)
end
def to_json(force_refresh: false)
data(force_refresh: force_refresh).to_json
end
+ def license_usage_data
+ usage_data = {
+ uuid: current_application_settings.uuid,
+ hostname: Gitlab.config.gitlab.host,
+ version: Gitlab::VERSION,
+ active_user_count: User.active.count,
+ recorded_at: Time.now,
+ mattermost_enabled: Gitlab.config.mattermost.enabled,
+ edition: 'CE'
+ }
+
+ usage_data
+ end
+
def system_usage_data
{
counts: {
@@ -54,18 +70,28 @@ module Gitlab
}
end
- def license_usage_data
- usage_data = {
- uuid: current_application_settings.uuid,
- hostname: Gitlab.config.gitlab.host,
- version: Gitlab::VERSION,
- active_user_count: User.active.count,
- recorded_at: Time.now,
- mattermost_enabled: Gitlab.config.mattermost.enabled,
- edition: 'CE'
+ def features_usage_data
+ features_usage_data_ce
+ end
+
+ def features_usage_data_ce
+ {
+ signup: current_application_settings.signup_enabled?,
+ ldap: Gitlab.config.ldap.enabled,
+ gravatar: current_application_settings.gravatar_enabled?,
+ omniauth: Gitlab.config.omniauth.enabled,
+ reply_by_email: Gitlab::IncomingEmail.enabled?,
+ container_registry: Gitlab.config.registry.enabled,
+ gitlab_shared_runners: Gitlab.config.gitlab_ci.shared_runners_enabled
}
+ end
- usage_data
+ def components_usage_data
+ {
+ gitlab_pages: { enabled: Gitlab.config.pages.enabled, version: Gitlab::Pages::VERSION },
+ git: { version: Gitlab::Git.version },
+ database: { adapter: Gitlab::Database.adapter_name, version: Gitlab::Database.version }
+ }
end
def services_usage
diff --git a/lib/system_check/incoming_email/imap_authentication_check.rb b/lib/system_check/incoming_email/imap_authentication_check.rb
index dee108d987b..e55bea86d3f 100644
--- a/lib/system_check/incoming_email/imap_authentication_check.rb
+++ b/lib/system_check/incoming_email/imap_authentication_check.rb
@@ -4,22 +4,17 @@ module SystemCheck
set_name 'IMAP server credentials are correct?'
def check?
- if mailbox_config
- begin
- imap = Net::IMAP.new(config[:host], port: config[:port], ssl: config[:ssl])
- imap.starttls if config[:start_tls]
- imap.login(config[:email], config[:password])
- connected = true
- rescue
- connected = false
- end
+ if config
+ try_connect_imap
+ else
+ @error = "#{mail_room_config_path} does not have mailboxes setup"
+ false
end
-
- connected
end
def show_error
try_fixing_it(
+ "An error occurred: #{@error.class}: #{@error.message}",
'Check that the information in config/gitlab.yml is correct'
)
for_more_information(
@@ -30,15 +25,31 @@ module SystemCheck
private
- def mailbox_config
- return @config if @config
+ def try_connect_imap
+ imap = Net::IMAP.new(config[:host], port: config[:port], ssl: config[:ssl])
+ imap.starttls if config[:start_tls]
+ imap.login(config[:email], config[:password])
+ true
+ rescue => error
+ @error = error
+ false
+ end
+
+ def config
+ @config ||= load_config
+ end
+
+ def mail_room_config_path
+ @mail_room_config_path ||=
+ Rails.root.join('config', 'mail_room.yml').to_s
+ end
- config_path = Rails.root.join('config', 'mail_room.yml').to_s
- erb = ERB.new(File.read(config_path))
- erb.filename = config_path
+ def load_config
+ erb = ERB.new(File.read(mail_room_config_path))
+ erb.filename = mail_room_config_path
config_file = YAML.load(erb.result)
- @config = config_file[:mailboxes]&.first
+ config_file.dig(:mailboxes, 0)
end
end
end
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index bd3d5b7c839..bc476a706cb 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -3,12 +3,13 @@
# This file is distributed under the same license as the gitlab package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
+#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: gitlab 1.0.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-09-06 08:32+0200\n"
-"PO-Revision-Date: 2017-09-06 08:32+0200\n"
+"POT-Creation-Date: 2017-09-21 14:20+0530\n"
+"PO-Revision-Date: 2017-09-21 14:20+0530\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
@@ -52,6 +53,9 @@ msgid_plural "%d pipelines"
msgstr[0] ""
msgstr[1] ""
+msgid "1st contribution!"
+msgstr ""
+
msgid "A collection of graphs regarding Continuous Integration"
msgstr ""
@@ -94,7 +98,7 @@ msgstr ""
msgid "All"
msgstr ""
-msgid "Appearances"
+msgid "Appearance"
msgstr ""
msgid "Applications"
@@ -118,64 +122,37 @@ msgstr ""
msgid "Are you sure?"
msgstr ""
-msgid "Attach a file by drag &amp; drop or %{upload_link}"
-msgstr ""
-
-msgid "Authentication log"
-msgstr ""
-
-msgid "Billing"
-msgstr ""
-
-msgid "BillingPlans|%{group_name} is currently on the %{plan_link} plan."
+msgid "Artifacts"
msgstr ""
-msgid "BillingPlans|Automatic downgrade and upgrade to some plans is currently not available."
-msgstr ""
-
-msgid "BillingPlans|Current plan"
-msgstr ""
-
-msgid "BillingPlans|Customer Support"
-msgstr ""
-
-msgid "BillingPlans|Learn more about each plan by reading our %{faq_link}."
-msgstr ""
-
-msgid "BillingPlans|Manage plan"
-msgstr ""
-
-msgid "BillingPlans|Please contact %{customer_support_link} in that case."
-msgstr ""
-
-msgid "BillingPlans|See all %{plan_name} features"
+msgid "Attach a file by drag &amp; drop or %{upload_link}"
msgstr ""
-msgid "BillingPlans|This group uses the plan associated with its parent group."
+msgid "Authentication Log"
msgstr ""
-msgid "BillingPlans|To manage the plan for this group, visit the billing section of %{parent_billing_page_link}."
+msgid "Auto DevOps (Beta)"
msgstr ""
-msgid "BillingPlans|Upgrade"
+msgid "Auto DevOps can be activated for this project. It will automatically build, test, and deploy your application based on a predefined CI/CD configuration."
msgstr ""
-msgid "BillingPlans|You are currently on the %{plan_link} plan."
+msgid "Auto DevOps documentation"
msgstr ""
-msgid "BillingPlans|frequently asked questions"
+msgid "Auto Review Apps and Auto Deploy need a domain name and the %{kubernetes} to work correctly."
msgstr ""
-msgid "BillingPlans|monthly"
+msgid "Auto Review Apps and Auto Deploy need a domain name to work correctly."
msgstr ""
-msgid "BillingPlans|paid annually at %{price_per_year}"
+msgid "Auto Review Apps and Auto Deploy need the %{kubernetes} to work correctly."
msgstr ""
-msgid "BillingPlans|per user"
+msgid "AutoDevOps|Learn more in the"
msgstr ""
-msgid "Billinglans|Downgrade"
+msgid "Board"
msgstr ""
msgid "Branch"
@@ -195,6 +172,12 @@ msgstr ""
msgid "Branches"
msgstr ""
+msgid "Branches|This branch hasn’t been merged into %{default_branch}."
+msgstr ""
+
+msgid "Branches|To avoid data loss, consider merging this branch before deleting it."
+msgstr ""
+
msgid "Browse Directory"
msgstr ""
@@ -338,18 +321,12 @@ msgstr ""
msgid "Compare"
msgstr ""
-msgid "Container Registry"
-msgstr ""
-
msgid "Contribution guide"
msgstr ""
msgid "Contributors"
msgstr ""
-msgid "Copy SSH public key to clipboard"
-msgstr ""
-
msgid "Copy URL to clipboard"
msgstr ""
@@ -490,6 +467,9 @@ msgstr ""
msgid "Emails"
msgstr ""
+msgid "Enable in settings"
+msgstr ""
+
msgid "EventFilterBy|Filter by all"
msgstr ""
@@ -517,6 +497,9 @@ msgstr ""
msgid "Every week (Sundays at 4:00am)"
msgstr ""
+msgid "Explore projects"
+msgstr ""
+
msgid "Failed to change the owner"
msgstr ""
@@ -558,9 +541,6 @@ msgstr ""
msgid "GPG Keys"
msgstr ""
-msgid "Geo Nodes"
-msgstr ""
-
msgid "Git storage health information has been reset"
msgstr ""
@@ -573,7 +553,28 @@ msgstr ""
msgid "GoToYourFork|Fork"
msgstr ""
-msgid "Group overview"
+msgid "GroupSettings|Prevent sharing a project within %{group} with other groups"
+msgstr ""
+
+msgid "GroupSettings|Share with group lock"
+msgstr ""
+
+msgid "GroupSettings|This setting is applied on %{ancestor_group} and has been overridden on this subgroup."
+msgstr ""
+
+msgid "GroupSettings|This setting is applied on %{ancestor_group}. To share projects in this group with another group, ask the owner to override the setting or %{remove_ancestor_share_with_group_lock}."
+msgstr ""
+
+msgid "GroupSettings|This setting is applied on %{ancestor_group}. You can override the setting or %{remove_ancestor_share_with_group_lock}."
+msgstr ""
+
+msgid "GroupSettings|This setting will be applied to all subgroups unless overridden by a group owner."
+msgstr ""
+
+msgid "GroupSettings|cannot be disabled when the parent group \"Share with group lock\" is enabled, except by the owner of the parent group"
+msgstr ""
+
+msgid "GroupSettings|remove the share with group lock from %{ancestor_group_name}"
msgstr ""
msgid "Health Check"
@@ -597,9 +598,6 @@ msgstr ""
msgid "Home"
msgstr ""
-msgid "Hooks"
-msgstr ""
-
msgid "Housekeeping successfully started"
msgstr ""
@@ -621,6 +619,9 @@ msgstr ""
msgid "Issues"
msgstr ""
+msgid "Jobs"
+msgstr ""
+
msgid "LFSStatus|Disabled"
msgstr ""
@@ -662,17 +663,11 @@ msgstr ""
msgid "Leave project"
msgstr ""
-msgid "License"
-msgstr ""
-
msgid "Limited to showing %d event at most"
msgid_plural "Limited to showing %d events at most"
msgstr[0] ""
msgstr[1] ""
-msgid "Locked Files"
-msgstr ""
-
msgid "Median"
msgstr ""
@@ -813,6 +808,18 @@ msgstr ""
msgid "Owner"
msgstr ""
+msgid "Pagination|Last »"
+msgstr ""
+
+msgid "Pagination|Next"
+msgstr ""
+
+msgid "Pagination|Prev"
+msgstr ""
+
+msgid "Pagination|« First"
+msgstr ""
+
msgid "Password"
msgstr ""
@@ -828,9 +835,6 @@ msgstr ""
msgid "Pipeline Schedules"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -918,10 +922,7 @@ msgstr ""
msgid "Preferences"
msgstr ""
-msgid "Profile Settings"
-msgstr ""
-
-msgid "Project"
+msgid "Profile"
msgstr ""
msgid "Project '%{project_name}' queued for deletion."
@@ -957,9 +958,6 @@ msgstr ""
msgid "Project home"
msgstr ""
-msgid "Project overview"
-msgstr ""
-
msgid "ProjectActivityRSS|Subscribe"
msgstr ""
@@ -984,22 +982,22 @@ msgstr ""
msgid "ProjectNetworkGraph|Graph"
msgstr ""
-msgid "Push Rules"
+msgid "ProjectsDropdown|Frequently visited"
msgstr ""
msgid "ProjectsDropdown|Loading projects"
msgstr ""
-msgid "ProjectsDropdown|Sorry, no projects matched your search"
-msgstr ""
-
msgid "ProjectsDropdown|Projects you visit often will appear here"
msgstr ""
msgid "ProjectsDropdown|Search your projects"
msgstr ""
-msgid "ProjectsDropdown|Something went wrong on our end"
+msgid "ProjectsDropdown|Something went wrong on our end."
+msgstr ""
+
+msgid "ProjectsDropdown|Sorry, no projects matched your search"
msgstr ""
msgid "ProjectsDropdown|This feature requires browser localStorage support"
@@ -1074,6 +1072,9 @@ msgstr ""
msgid "Schedule a new pipeline"
msgstr ""
+msgid "Schedules"
+msgstr ""
+
msgid "Scheduling Pipelines"
msgstr ""
@@ -1113,6 +1114,12 @@ msgstr ""
msgid "Settings"
msgstr ""
+msgid "Show parent pages"
+msgstr ""
+
+msgid "Show parent subgroups"
+msgstr ""
+
msgid "Showing %d event"
msgid_plural "Showing %d events"
msgstr[0] ""
@@ -1133,6 +1140,9 @@ msgstr ""
msgid "StarProject|Star"
msgstr ""
+msgid "Starred projects"
+msgstr ""
+
msgid "Start a %{new_merge_request} with these changes"
msgstr ""
@@ -1142,6 +1152,9 @@ msgstr ""
msgid "Switch branch/tag"
msgstr ""
+msgid "System Hooks"
+msgstr ""
+
msgid "Tag"
msgid_plural "Tags"
msgstr[0] ""
@@ -1207,6 +1220,9 @@ msgstr ""
msgid "There are problems accessing Git storage: "
msgstr ""
+msgid "This is the author's first Merge Request to this project. Handle with care."
+msgstr ""
+
msgid "This means you can not push code until you create an empty repository or import existing one."
msgstr ""
@@ -1457,6 +1473,9 @@ msgstr ""
msgid "Your name"
msgstr ""
+msgid "Your projects"
+msgstr ""
+
msgid "day"
msgid_plural "days"
msgstr[0] ""
diff --git a/spec/features/projects/shortcuts_spec.rb b/spec/features/projects/shortcuts_spec.rb
deleted file mode 100644
index bf18c444c3d..00000000000
--- a/spec/features/projects/shortcuts_spec.rb
+++ /dev/null
@@ -1,21 +0,0 @@
-require 'spec_helper'
-
-feature 'Project shortcuts' do
- let(:project) { create(:project, name: 'Victorialand') }
- let(:user) { create(:user) }
-
- describe 'On a project', js: true do
- before do
- project.team << [user, :master]
- sign_in user
- visit project_path(project)
- end
-
- describe 'pressing "i"' do
- it 'redirects to new issue page' do
- find('body').native.send_key('i')
- expect(page).to have_content('Victorialand')
- end
- end
- end
-end
diff --git a/spec/features/projects/user_uses_shortcuts_spec.rb b/spec/features/projects/user_uses_shortcuts_spec.rb
new file mode 100644
index 00000000000..fb0d8c766fe
--- /dev/null
+++ b/spec/features/projects/user_uses_shortcuts_spec.rb
@@ -0,0 +1,108 @@
+require 'spec_helper'
+
+describe 'User uses shortcuts', :js do
+ let(:project) { create(:project, :repository) }
+ let(:user) { create(:user) }
+
+ before do
+ project.add_master(user)
+ sign_in(user)
+
+ visit(project_path(project))
+ end
+
+ context 'when navigating to the Overview pages' do
+ it 'redirects to the details page' do
+ find('body').native.send_key('g')
+ find('body').native.send_key('p')
+
+ expect(page).to have_active_navigation('Overview')
+ expect(page).to have_active_sub_navigation('Details')
+ end
+
+ it 'redirects to the activity page' do
+ find('body').native.send_key('g')
+ find('body').native.send_key('e')
+
+ expect(page).to have_active_navigation('Overview')
+ expect(page).to have_active_sub_navigation('Activity')
+ end
+ end
+
+ context 'when navigating to the Repository pages' do
+ it 'redirects to the repository files page' do
+ find('body').native.send_key('g')
+ find('body').native.send_key('f')
+
+ expect(page).to have_active_navigation('Repository')
+ expect(page).to have_active_sub_navigation('Files')
+ end
+
+ it 'redirects to the repository commits page' do
+ find('body').native.send_key('g')
+ find('body').native.send_key('c')
+
+ expect(page).to have_active_navigation('Repository')
+ expect(page).to have_active_sub_navigation('Commits')
+ end
+
+ it 'redirects to the repository graph page' do
+ find('body').native.send_key('g')
+ find('body').native.send_key('n')
+
+ expect(page).to have_active_navigation('Repository')
+ expect(page).to have_active_sub_navigation('Graph')
+ end
+
+ it 'redirects to the repository charts page' do
+ find('body').native.send_key('g')
+ find('body').native.send_key('d')
+
+ expect(page).to have_active_navigation('Repository')
+ expect(page).to have_active_sub_navigation('Charts')
+ end
+ end
+
+ context 'when navigating to the Issues pages' do
+ it 'redirects to the issues list page' do
+ find('body').native.send_key('g')
+ find('body').native.send_key('i')
+
+ expect(page).to have_active_navigation('Issues')
+ expect(page).to have_active_sub_navigation('List')
+ end
+
+ it 'redirects to the new issue page' do
+ find('body').native.send_key('i')
+
+ expect(page).to have_content(project.title)
+ end
+ end
+
+ context 'when navigating to the Merge Requests pages' do
+ it 'redirects to the merge requests page' do
+ find('body').native.send_key('g')
+ find('body').native.send_key('m')
+
+ expect(page).to have_active_navigation('Merge Requests')
+ end
+ end
+
+ context 'when navigating to the Snippets pages' do
+ it 'redirects to the snippets page' do
+ find('body').native.send_key('g')
+ find('body').native.send_key('s')
+
+ expect(page).to have_active_navigation('Snippets')
+ end
+ end
+
+ context 'when navigating to the Wiki pages' do
+ it 'redirects to the wiki page' do
+ find('body').native.send_key('g')
+ find('body').native.send_key('w')
+
+ expect(page).to have_active_navigation('Wiki')
+ end
+ end
+end
diff --git a/spec/javascripts/pipelines/pipelines_artifacts_spec.js b/spec/javascripts/pipelines/pipelines_artifacts_spec.js
index acb67d0ec21..a8a8e3e2cff 100644
--- a/spec/javascripts/pipelines/pipelines_artifacts_spec.js
+++ b/spec/javascripts/pipelines/pipelines_artifacts_spec.js
@@ -34,7 +34,7 @@ describe('Pipelines Artifacts dropdown', () => {
).toEqual(artifacts[0].path);
expect(
- component.$el.querySelector('.dropdown-menu li a span').textContent,
+ component.$el.querySelector('.dropdown-menu li a').textContent,
).toContain(artifacts[0].name);
});
});
diff --git a/spec/lib/gitlab/git/blob_spec.rb b/spec/lib/gitlab/git/blob_spec.rb
index 66ba00acb7d..f3945e748ab 100644
--- a/spec/lib/gitlab/git/blob_spec.rb
+++ b/spec/lib/gitlab/git/blob_spec.rb
@@ -119,10 +119,13 @@ describe Gitlab::Git::Blob, seed_helper: true do
shared_examples 'finding blobs by ID' do
let(:raw_blob) { Gitlab::Git::Blob.raw(repository, SeedRepo::RubyBlob::ID) }
+ let(:bad_blob) { Gitlab::Git::Blob.raw(repository, SeedRepo::BigCommit::ID) }
+
it { expect(raw_blob.id).to eq(SeedRepo::RubyBlob::ID) }
it { expect(raw_blob.data[0..10]).to eq("require \'fi") }
it { expect(raw_blob.size).to eq(669) }
it { expect(raw_blob.truncated?).to be_falsey }
+ it { expect(bad_blob).to be_nil }
context 'large file' do
it 'limits the size of a large file' do
diff --git a/spec/lib/gitlab/usage_data_spec.rb b/spec/lib/gitlab/usage_data_spec.rb
index c7d9f105f04..ee152872acc 100644
--- a/spec/lib/gitlab/usage_data_spec.rb
+++ b/spec/lib/gitlab/usage_data_spec.rb
@@ -26,6 +26,16 @@ describe Gitlab::UsageData do
version
uuid
hostname
+ signup
+ ldap
+ gravatar
+ omniauth
+ reply_by_email
+ container_registry
+ gitlab_pages
+ gitlab_shared_runners
+ git
+ database
))
end
@@ -86,6 +96,32 @@ describe Gitlab::UsageData do
end
end
+ describe '#features_usage_data_ce' do
+ subject { described_class.features_usage_data_ce }
+
+ it 'gathers feature usage data' do
+ expect(subject[:signup]).to eq(current_application_settings.signup_enabled?)
+ expect(subject[:ldap]).to eq(Gitlab.config.ldap.enabled)
+ expect(subject[:gravatar]).to eq(current_application_settings.gravatar_enabled?)
+ expect(subject[:omniauth]).to eq(Gitlab.config.omniauth.enabled)
+ expect(subject[:reply_by_email]).to eq(Gitlab::IncomingEmail.enabled?)
+ expect(subject[:container_registry]).to eq(Gitlab.config.registry.enabled)
+ expect(subject[:gitlab_shared_runners]).to eq(Gitlab.config.gitlab_ci.shared_runners_enabled)
+ end
+ end
+
+ describe '#components_usage_data' do
+ subject { described_class.components_usage_data }
+
+ it 'gathers components usage data' do
+ expect(subject[:gitlab_pages][:enabled]).to eq(Gitlab.config.pages.enabled)
+ expect(subject[:gitlab_pages][:version]).to eq(Gitlab::Pages::VERSION)
+ expect(subject[:git][:version]).to eq(Gitlab::Git.version)
+ expect(subject[:database][:adapter]).to eq(Gitlab::Database.adapter_name)
+ expect(subject[:database][:version]).to eq(Gitlab::Database.version)
+ end
+ end
+
describe '#license_usage_data' do
subject { described_class.license_usage_data }
diff --git a/spec/services/keys/last_used_service_spec.rb b/spec/services/keys/last_used_service_spec.rb
index edaace293ae..bb0fb6acf39 100644
--- a/spec/services/keys/last_used_service_spec.rb
+++ b/spec/services/keys/last_used_service_spec.rb
@@ -26,12 +26,7 @@ describe Keys::LastUsedService do
# make sure we _only_ update last_used_at and not always updated_at.
key = create(:key, last_used_at: 1.year.ago)
- recorder = ActiveRecord::QueryRecorder.new do
- described_class.new(key).execute
- end
-
- expect(recorder.count).to eq(1)
- expect(recorder.log[0]).not_to include('updated_at')
+ expect { described_class.new(key).execute }.not_to change { key.updated_at }
end
end
diff --git a/spec/support/matchers/navigation_matcher.rb b/spec/support/matchers/navigation_matcher.rb
index 5b6d9c1a4df..63f59b9654c 100644
--- a/spec/support/matchers/navigation_matcher.rb
+++ b/spec/support/matchers/navigation_matcher.rb
@@ -4,3 +4,9 @@ RSpec::Matchers.define :have_active_navigation do |expected|
expect(page.find('.sidebar-top-level-items > li.active')).to have_content(expected)
end
end
+
+RSpec::Matchers.define :have_active_sub_navigation do |expected|
+ match do |page|
+ expect(page.find('.sidebar-sub-level-items > li.active:not(.fly-out-top-item)')).to have_content(expected)
+ end
+end