summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-05-11 18:08:38 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2023-05-11 18:08:38 +0000
commite3f2c7cf9e327f6f6003e378593c2970f63f8d0d (patch)
treeafe6cae1871270555093e37aecdc65eec71b0982
parent4564f677f8d71e814e89618e81709c86cf50e3d2 (diff)
downloadgitlab-ce-e3f2c7cf9e327f6f6003e378593c2970f63f8d0d.tar.gz
Add latest changes from gitlab-org/gitlab@master
-rw-r--r--Gemfile2
-rw-r--r--Gemfile.checksum2
-rw-r--r--Gemfile.lock4
-rw-r--r--app/assets/javascripts/merge_request_tabs.js8
-rw-r--r--app/assets/javascripts/vue_shared/components/markdown/header.vue2
-rw-r--r--app/controllers/projects/merge_requests_controller.rb3
-rw-r--r--app/helpers/merge_requests_helper.rb4
-rw-r--r--app/views/projects/merge_requests/_page.html.haml6
-rw-r--r--data/removals/16_0/16-0-remove-embed-grafana-panels-in-markdown.yml13
-rw-r--r--doc/architecture/blueprints/cells/images/term-organization.pngbin147179 -> 29527 bytes
-rw-r--r--doc/architecture/blueprints/cells/images/term-top-level-group.pngbin66609 -> 15122 bytes
-rw-r--r--doc/architecture/blueprints/database/clickhouse/clickhouse_dbwriter.pngbin137588 -> 46544 bytes
-rw-r--r--doc/ci/testing/img/code_coverage_group_report.pngbin308000 -> 71793 bytes
-rw-r--r--doc/development/approval_rules.md11
-rw-r--r--doc/development/contributing/community_roles.md11
-rw-r--r--doc/development/contributing/img/gdk_home.pngbin56874 -> 16636 bytes
-rw-r--r--doc/development/merge_request_application_and_rate_limit_guidelines.md11
-rw-r--r--doc/raketasks/import.md2
-rw-r--r--doc/topics/git/getting_started.md11
-rw-r--r--doc/topics/git/index.md2
-rw-r--r--doc/tutorials/left_sidebar/img/admin_area_v16_0.pngbin23819 -> 7875 bytes
-rw-r--r--doc/tutorials/left_sidebar/img/search_projects_v16_0.pngbin40408 -> 12721 bytes
-rw-r--r--doc/update/removals.md10
-rw-r--r--doc/user/admin_area/settings/visibility_and_access_controls.md7
-rw-r--r--doc/user/gitlab_com/index.md40
-rw-r--r--doc/user/packages/package_registry/supported_hash_types.md11
-rw-r--r--doc/user/project/import/phabricator.md2
-rw-r--r--doc/user/project/integrations/shimo.md2
-rw-r--r--doc/user/project/integrations/zentao.md2
-rw-r--r--doc/user/project/repository/code_suggestions.md9
-rw-r--r--doc/user/project/repository/img/update-fork_v15_11.pngbin21928 -> 8581 bytes
-rw-r--r--spec/helpers/merge_requests_helper_spec.rb18
32 files changed, 99 insertions, 94 deletions
diff --git a/Gemfile b/Gemfile
index 9df24ba2877..32478f4737c 100644
--- a/Gemfile
+++ b/Gemfile
@@ -369,7 +369,7 @@ gem 'prometheus-client-mmap', '~> 0.23', require: 'prometheus/client'
gem 'warning', '~> 1.3.0'
group :development do
- gem 'lefthook', '~> 1.3.12', require: false
+ gem 'lefthook', '~> 1.3.13', require: false
gem 'rubocop'
gem 'solargraph', '~> 0.47.2', require: false
diff --git a/Gemfile.checksum b/Gemfile.checksum
index 1a719b5533c..0cc74cbdd8a 100644
--- a/Gemfile.checksum
+++ b/Gemfile.checksum
@@ -330,7 +330,7 @@
{"name":"kramdown-parser-gfm","version":"1.1.0","platform":"ruby","checksum":"fb39745516427d2988543bf01fc4cf0ab1149476382393e0e9c48592f6581729"},
{"name":"kubeclient","version":"4.11.0","platform":"ruby","checksum":"4985fcd749fb8c364a668a8350a49821647f03aa52d9ee6cbc582beb8e883fcc"},
{"name":"launchy","version":"2.5.0","platform":"ruby","checksum":"954243c4255920982ce682f89a42e76372dba94770bf09c23a523e204bdebef5"},
-{"name":"lefthook","version":"1.3.12","platform":"ruby","checksum":"e90f804d03ba96338aa6c861ad429b697fcefe7ff4b9cea30d4cec3d9560f582"},
+{"name":"lefthook","version":"1.3.13","platform":"ruby","checksum":"0f51b9eaa3b9193cf423d8766012df3bd1bc0467c458755ed16779013930df72"},
{"name":"letter_opener","version":"1.7.0","platform":"ruby","checksum":"095bc0d58e006e5b43ea7d219e64ecf2de8d1f7d9dafc432040a845cf59b4725"},
{"name":"letter_opener_web","version":"2.0.0","platform":"ruby","checksum":"33860ad41e1785d75456500e8ca8bba8ed71ee6eaf08a98d06bbab67c5577b6f"},
{"name":"libyajl2","version":"1.2.0","platform":"ruby","checksum":"1117cd1e48db013b626e36269bbf1cef210538ca6d2e62d3fa3db9ded005b258"},
diff --git a/Gemfile.lock b/Gemfile.lock
index bfe63db9cba..fb7ff0a481e 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -878,7 +878,7 @@ GEM
rest-client (~> 2.0)
launchy (2.5.0)
addressable (~> 2.7)
- lefthook (1.3.12)
+ lefthook (1.3.13)
letter_opener (1.7.0)
launchy (~> 2.2)
letter_opener_web (2.0.0)
@@ -1807,7 +1807,7 @@ DEPENDENCIES
knapsack (~> 1.21.1)
kramdown (~> 2.3.1)
kubeclient (~> 4.11.0)
- lefthook (~> 1.3.12)
+ lefthook (~> 1.3.13)
letter_opener_web (~> 2.0.0)
license_finder (~> 7.0)
licensee (~> 9.15)
diff --git a/app/assets/javascripts/merge_request_tabs.js b/app/assets/javascripts/merge_request_tabs.js
index b927654a3f5..eb25879205f 100644
--- a/app/assets/javascripts/merge_request_tabs.js
+++ b/app/assets/javascripts/merge_request_tabs.js
@@ -482,12 +482,14 @@ export default class MergeRequestTabs {
axios
.get(`${source}.json`, { params: { page, per_page: 100 } })
- .then(({ data }) => {
+ .then(({ data: { html, count, next_page: nextPage } }) => {
toggleLoader(false);
+ document.querySelector('.js-commits-count').textContent = count;
+
const commitsDiv = document.querySelector('div#commits');
// eslint-disable-next-line no-unsanitized/property
- commitsDiv.innerHTML += data.html;
+ commitsDiv.innerHTML += html;
localTimeAgo(commitsDiv.querySelectorAll('.js-timeago'));
this.commitsLoaded = true;
scrollToContainer('#commits');
@@ -503,7 +505,7 @@ export default class MergeRequestTabs {
});
}
- if (!data.next_page) {
+ if (!nextPage) {
return import('./add_context_commits_modal');
}
diff --git a/app/assets/javascripts/vue_shared/components/markdown/header.vue b/app/assets/javascripts/vue_shared/components/markdown/header.vue
index 912e791bb11..8802f364665 100644
--- a/app/assets/javascripts/vue_shared/components/markdown/header.vue
+++ b/app/assets/javascripts/vue_shared/components/markdown/header.vue
@@ -199,7 +199,7 @@ export default {
insertIntoTextarea(text) {
const textArea = this.$el.closest('.md-area')?.querySelector('textarea');
if (textArea) {
- const generatedByText = `${text}\n***\n_${__('This comment was generated using AI')}_`;
+ const generatedByText = `${text}\n\n---\n\n_${__('This comment was generated using AI')}_`;
updateText({
textArea,
tag: generatedByText,
diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb
index f72f0ccb593..3c4120d899e 100644
--- a/app/controllers/projects/merge_requests_controller.rb
+++ b/app/controllers/projects/merge_requests_controller.rb
@@ -133,8 +133,9 @@ class Projects::MergeRequestsController < Projects::MergeRequests::ApplicationCo
recent_commits,
commits_count: @merge_request.commits_count
)
+ commits_count = @merge_request.preparing? ? '-' : @merge_request.commits_count + @merge_request.context_commits_count
- render json: { html: view_to_html_string('projects/merge_requests/_commits'), next_page: @next_page }
+ render json: { html: view_to_html_string('projects/merge_requests/_commits'), next_page: @next_page, count: commits_count }
end
def pipelines
diff --git a/app/helpers/merge_requests_helper.rb b/app/helpers/merge_requests_helper.rb
index b394d24fa38..15901e13c1a 100644
--- a/app/helpers/merge_requests_helper.rb
+++ b/app/helpers/merge_requests_helper.rb
@@ -305,6 +305,10 @@ module MergeRequestsHelper
hidden_issuable_icon(merge_request)
end
+
+ def tab_count_display(merge_request, count)
+ merge_request.preparing? ? "-" : count
+ end
end
MergeRequestsHelper.prepend_mod_with('MergeRequestsHelper')
diff --git a/app/views/projects/merge_requests/_page.html.haml b/app/views/projects/merge_requests/_page.html.haml
index 1f6c95d920f..3e56148f777 100644
--- a/app/views/projects/merge_requests/_page.html.haml
+++ b/app/views/projects/merge_requests/_page.html.haml
@@ -8,8 +8,6 @@
- page_card_attributes @merge_request.card_attributes
- suggest_changes_help_path = help_page_path('user/project/merge_requests/reviews/suggestions.md')
- mr_action = j(params[:tab].presence || 'show')
--# @diffs_count is a number when the value is 0, but a string when there are other values
-- diffs_count_display = @diffs_count.to_s == "0" ? "-" : @diffs_count
- add_page_specific_style 'page_bundles/issuable'
- add_page_specific_style 'page_bundles/design_management'
- add_page_specific_style 'page_bundles/merge_requests'
@@ -38,7 +36,7 @@
= render "projects/merge_requests/tabs/tab", name: "commits", class: "commits-tab", qa_selector: "commits_tab" do
= tab_link_for @merge_request, :commits do
= _("Commits")
- = gl_badge_tag @commits_count, { size: :sm }
+ = gl_badge_tag tab_count_display(@merge_request, @commits_count), { size: :sm }, { class: 'js-commits-count' }
- if @project.builds_enabled?
= render "projects/merge_requests/tabs/tab", name: "pipelines", class: "pipelines-tab" do
= tab_link_for @merge_request, :pipelines do
@@ -47,7 +45,7 @@
= render "projects/merge_requests/tabs/tab", name: "diffs", class: "diffs-tab js-diffs-tab", id: "diffs-tab", qa_selector: "diffs_tab" do
= tab_link_for @merge_request, :diffs do
= _("Changes")
- = gl_badge_tag diffs_count_display, { size: :sm }
+ = gl_badge_tag tab_count_display(@merge_request, @diffs_count), { size: :sm }
.d-flex.flex-wrap.align-items-center.justify-content-lg-end
#js-vue-discussion-counter{ data: { blocks_merge: @project.only_allow_merge_if_all_discussions_are_resolved?.to_s } }
- if moved_mr_sidebar_enabled?
diff --git a/data/removals/16_0/16-0-remove-embed-grafana-panels-in-markdown.yml b/data/removals/16_0/16-0-remove-embed-grafana-panels-in-markdown.yml
new file mode 100644
index 00000000000..2872eb6abe9
--- /dev/null
+++ b/data/removals/16_0/16-0-remove-embed-grafana-panels-in-markdown.yml
@@ -0,0 +1,13 @@
+- title: "Embedding Grafana panels in Markdown is removed"
+ announcement_milestone: "15.9"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: kbychu
+ stage: monitor
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/389477
+ body: |
+ The ability to add Grafana panels in GitLab Flavored Markdown is removed.
+ We intend to replace this feature with the ability to [embed charts](https://gitlab.com/groups/gitlab-org/opstrace/-/epics/33)
+ with the [GitLab Observability UI](https://gitlab.com/gitlab-org/opstrace/opstrace-ui).
+ tiers: [Free, Silver, Gold, Core, Premium, Ultimate]
+ documentation_url: https://docs.gitlab.com/ee/operations/metrics/embed_grafana.html#embed-grafana-panels-in-markdown-deprecated
diff --git a/doc/architecture/blueprints/cells/images/term-organization.png b/doc/architecture/blueprints/cells/images/term-organization.png
index b4f368c9ef7..dd6367ad84a 100644
--- a/doc/architecture/blueprints/cells/images/term-organization.png
+++ b/doc/architecture/blueprints/cells/images/term-organization.png
Binary files differ
diff --git a/doc/architecture/blueprints/cells/images/term-top-level-group.png b/doc/architecture/blueprints/cells/images/term-top-level-group.png
index f207dfa38a9..4af2468f50d 100644
--- a/doc/architecture/blueprints/cells/images/term-top-level-group.png
+++ b/doc/architecture/blueprints/cells/images/term-top-level-group.png
Binary files differ
diff --git a/doc/architecture/blueprints/database/clickhouse/clickhouse_dbwriter.png b/doc/architecture/blueprints/database/clickhouse/clickhouse_dbwriter.png
index 7aa2f0ef005..fc65830d3ee 100644
--- a/doc/architecture/blueprints/database/clickhouse/clickhouse_dbwriter.png
+++ b/doc/architecture/blueprints/database/clickhouse/clickhouse_dbwriter.png
Binary files differ
diff --git a/doc/ci/testing/img/code_coverage_group_report.png b/doc/ci/testing/img/code_coverage_group_report.png
index df8ca613f8c..3e28a9b4cdd 100644
--- a/doc/ci/testing/img/code_coverage_group_report.png
+++ b/doc/ci/testing/img/code_coverage_group_report.png
Binary files differ
diff --git a/doc/development/approval_rules.md b/doc/development/approval_rules.md
deleted file mode 100644
index 2e36be1231d..00000000000
--- a/doc/development/approval_rules.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'merge_request_concepts/approval_rules.md'
-remove_date: '2023-04-23'
----
-
-This document was moved to [another location](merge_request_concepts/approval_rules.md).
-
-<!-- This redirect file can be deleted after <2023-04-23>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/contributing/community_roles.md b/doc/development/contributing/community_roles.md
deleted file mode 100644
index 3c9362138c2..00000000000
--- a/doc/development/contributing/community_roles.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'index.md'
-remove_date: '2023-05-08'
----
-
-This document was moved to [another location](index.md).
-
-<!-- This redirect file can be deleted after <2023-05-08>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/contributing/img/gdk_home.png b/doc/development/contributing/img/gdk_home.png
index 77505850609..7be4b9cd329 100644
--- a/doc/development/contributing/img/gdk_home.png
+++ b/doc/development/contributing/img/gdk_home.png
Binary files differ
diff --git a/doc/development/merge_request_application_and_rate_limit_guidelines.md b/doc/development/merge_request_application_and_rate_limit_guidelines.md
deleted file mode 100644
index 07788400adf..00000000000
--- a/doc/development/merge_request_application_and_rate_limit_guidelines.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'merge_request_concepts/rate_limits.md'
-remove_date: '2023-04-23'
----
-
-This document was moved to [another location](merge_request_concepts/rate_limits.md).
-
-<!-- This redirect file can be deleted after <2023-04-23>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/raketasks/import.md b/doc/raketasks/import.md
index e97b84801e8..d3b734eba12 100644
--- a/doc/raketasks/import.md
+++ b/doc/raketasks/import.md
@@ -2,7 +2,7 @@
stage: Systems
group: Distribution
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
-remove_date: '2023-05-22'
+remove_date: '2023-08-22'
---
# Import bare repositories (removed) **(FREE SELF)**
diff --git a/doc/topics/git/getting_started.md b/doc/topics/git/getting_started.md
deleted file mode 100644
index b57fcc9d395..00000000000
--- a/doc/topics/git/getting_started.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: '../../tutorials/make_first_git_commit/index.md'
-remove_date: '2023-04-23'
----
-
-This document was moved to [another location](../../tutorials/make_first_git_commit/index.md).
-
-<!-- This redirect file can be deleted after <2023-04-23>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/topics/git/index.md b/doc/topics/git/index.md
index 065bb9821ee..d5aa74935f2 100644
--- a/doc/topics/git/index.md
+++ b/doc/topics/git/index.md
@@ -58,7 +58,7 @@ The following are resources on version control concepts:
You can do many Git tasks from the command line:
- [Cherry-pick](cherry_picking.md).
-- [Getting started with Git](getting_started.md).
+- [Getting started with Git](../../tutorials/make_first_git_commit/index.md).
- [Git add](git_add.md).
- [Git stash](stash.md).
- [Rollback commits](rollback_commits.md).
diff --git a/doc/tutorials/left_sidebar/img/admin_area_v16_0.png b/doc/tutorials/left_sidebar/img/admin_area_v16_0.png
index 62ec9a2418f..7cc4ddedea0 100644
--- a/doc/tutorials/left_sidebar/img/admin_area_v16_0.png
+++ b/doc/tutorials/left_sidebar/img/admin_area_v16_0.png
Binary files differ
diff --git a/doc/tutorials/left_sidebar/img/search_projects_v16_0.png b/doc/tutorials/left_sidebar/img/search_projects_v16_0.png
index 9b7b394c416..12182f24009 100644
--- a/doc/tutorials/left_sidebar/img/search_projects_v16_0.png
+++ b/doc/tutorials/left_sidebar/img/search_projects_v16_0.png
Binary files differ
diff --git a/doc/update/removals.md b/doc/update/removals.md
index 851cb156def..d0a6952745a 100644
--- a/doc/update/removals.md
+++ b/doc/update/removals.md
@@ -122,6 +122,16 @@ Review the details carefully before upgrading.
The Container Registry [pull-through cache](https://docs.docker.com/registry/recipes/mirror/) was deprecated in GitLab 15.8 and removed in GitLab 16.0. This feature is part of the upstream [Docker Distribution project](https://github.com/distribution/distribution) but we are removing that code in favor of the GitLab Dependency Proxy. Use the GitLab Dependency Proxy to proxy and cache container images from Docker Hub.
+### Embedding Grafana panels in Markdown is removed
+
+WARNING:
+This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/).
+Review the details carefully before upgrading.
+
+The ability to add Grafana panels in GitLab Flavored Markdown is removed.
+We intend to replace this feature with the ability to [embed charts](https://gitlab.com/groups/gitlab-org/opstrace/-/epics/33)
+with the [GitLab Observability UI](https://gitlab.com/gitlab-org/opstrace/opstrace-ui).
+
### Enforced validation of CI/CD parameter character lengths
WARNING:
diff --git a/doc/user/admin_area/settings/visibility_and_access_controls.md b/doc/user/admin_area/settings/visibility_and_access_controls.md
index fcad1a31225..ccc80c1fd2c 100644
--- a/doc/user/admin_area/settings/visibility_and_access_controls.md
+++ b/doc/user/admin_area/settings/visibility_and_access_controls.md
@@ -165,7 +165,7 @@ For more details on group visibility, see
When restricting visibility levels, consider how these restrictions interact
with permissions for subgroups and projects that inherit their visibility from
-the item you're changing.
+the item you're changing.
To restrict visibility levels for groups, projects, snippets, and selected pages:
@@ -187,11 +187,12 @@ To restrict visibility levels for groups, projects, snippets, and selected pages
1. Select **Save changes**.
For more details on project visibility, see
-[Project visibility](../../public_access.md).
+[Project visibility](../../public_access.md).
## Configure allowed import sources
-You can specify from which hosting sites users can [import their projects](../../project/import/index.md):
+Before projects can be imported from other systems, the [import source](../../gitlab_com/index.md#default-import-sources)
+for that system must be enabled.
1. Sign in to GitLab as a user with Administrator access level.
1. On the top bar, select **Main menu > Admin**.
diff --git a/doc/user/gitlab_com/index.md b/doc/user/gitlab_com/index.md
index c90bfba6830..de778d91478 100644
--- a/doc/user/gitlab_com/index.md
+++ b/doc/user/gitlab_com/index.md
@@ -135,7 +135,7 @@ Some settings for [GitLab Pages](../project/pages/index.md) differ from the
[defaults for self-managed instances](../../administration/pages/index.md):
| Setting | GitLab.com |
-|---------------------------------------------------|------------------------|
+|:--------------------------------------------------|:-----------------------|
| Domain name | `gitlab.io` |
| IP address | `35.185.44.232` |
| Support for custom domains | **{check-circle}** Yes |
@@ -208,21 +208,29 @@ NOTE:
Cloudflare. Git LFS and imports other than a file upload are not affected by
this limit. Repository limits apply to both public and private projects.
-## Import sources
-
-GitLab.com has the following import sources enabled.
-
-| Import source | GitLab.com default | Default (self-managed) |
-|------------------------|--------------------| ---------------------------|
-| Bitbucket Cloud | **{check-circle}** Yes | **{dotted-circle}** No |
-| Bitbucket Server | **{check-circle}** Yes | **{dotted-circle}** No |
-| FogBugz | **{check-circle}** Yes | **{dotted-circle}** No |
-| GitLab Direct Transfer | **{check-circle}** Yes | **{dotted-circle}** No |
-| Gitea | **{check-circle}** Yes | **{dotted-circle}** No |
-| GitHub | **{check-circle}** Yes | **{dotted-circle}** No |
-| GitLab export | **{check-circle}** Yes | **{dotted-circle}** No |
-| Manifest file | **{check-circle}** Yes | **{dotted-circle}** No |
-| Repository by URL | **{check-circle}** Yes | **{dotted-circle}** No |
+## Default import sources
+
+> Disabling all importers by default for new GitLab self-managed installations [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/118970) in GitLab 16.0.
+
+The import sources that are available default depend on which GitLab you use:
+
+- GitLab.com: all available import sources are enabled by default.
+- GitLab self-managed: no import sources are enabled by default and must be
+ [enabled](../admin_area/settings/visibility_and_access_controls.md#configure-allowed-import-sources).
+
+| Import source | GitLab.com default | GitLab self-managed default |
+|:----------------------------------------------------------------------------------------------------|:-----------------------|:----------------------------|
+| [Bitbucket Cloud](../project/import/bitbucket.md) | **{check-circle}** Yes | **{dotted-circle}** No |
+| [Bitbucket Server](../project/import/bitbucket_server.md) | **{check-circle}** Yes | **{dotted-circle}** No |
+| [FogBugz](../project/import/fogbugz.md) | **{check-circle}** Yes | **{dotted-circle}** No |
+| [Gitea](../project/import/gitea.md) | **{check-circle}** Yes | **{dotted-circle}** No |
+| [GitLab by direct transfer](../group/import/index.md#migrate-groups-by-direct-transfer-recommended) | **{check-circle}** Yes | **{dotted-circle}** No |
+| [GitLab using file exports](../project/settings/import_export.md) | **{check-circle}** Yes | **{dotted-circle}** No |
+| [GitHub](../project/import/github.md) | **{check-circle}** Yes | **{dotted-circle}** No |
+| [Manifest file](../project/import/manifest.md) | **{check-circle}** Yes | **{dotted-circle}** No |
+| [Repository by URL](../project/import/repo_by_url.md) | **{check-circle}** Yes | **{dotted-circle}** No |
+
+[Other importers](../project/import/index.md#available-project-importers) are available.
## IP range
diff --git a/doc/user/packages/package_registry/supported_hash_types.md b/doc/user/packages/package_registry/supported_hash_types.md
deleted file mode 100644
index d39b8d60c93..00000000000
--- a/doc/user/packages/package_registry/supported_hash_types.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'supported_functionality.md'
-remove_date: '2023-04-22'
----
-
-This document was moved to [another location](supported_functionality.md).
-
-<!-- This redirect file can be deleted after <2023-04-22>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/user/project/import/phabricator.md b/doc/user/project/import/phabricator.md
index b0dedb9925c..7b9615b883c 100644
--- a/doc/user/project/import/phabricator.md
+++ b/doc/user/project/import/phabricator.md
@@ -2,7 +2,7 @@
stage: Manage
group: Import and Integrate
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
-remove_date: '2023-05-22'
+remove_date: '2023-08-22'
---
# Import Phabricator tasks into a GitLab project (removed) **(FREE SELF)**
diff --git a/doc/user/project/integrations/shimo.md b/doc/user/project/integrations/shimo.md
index 1e2e60cebe0..cf9745929a1 100644
--- a/doc/user/project/integrations/shimo.md
+++ b/doc/user/project/integrations/shimo.md
@@ -4,7 +4,7 @@ group: Import and Integrate
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
---
-<!--- start_remove The following content will be removed on remove_date: '2023-05-22' -->
+<!--- start_remove The following content will be removed on remove_date: '2023-08-22' -->
# Shimo (deprecated) **(FREE)**
diff --git a/doc/user/project/integrations/zentao.md b/doc/user/project/integrations/zentao.md
index a10c203e191..19f6a3e315c 100644
--- a/doc/user/project/integrations/zentao.md
+++ b/doc/user/project/integrations/zentao.md
@@ -4,7 +4,7 @@ group: Import and Integrate
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
---
-<!--- start_remove The following content will be removed on remove_date: '2023-05-22' -->
+<!--- start_remove The following content will be removed on remove_date: '2023-08-22' -->
# ZenTao (deprecated) **(PREMIUM)**
diff --git a/doc/user/project/repository/code_suggestions.md b/doc/user/project/repository/code_suggestions.md
index 857c75f2140..027372eb05d 100644
--- a/doc/user/project/repository/code_suggestions.md
+++ b/doc/user/project/repository/code_suggestions.md
@@ -28,12 +28,17 @@ Code Suggestions are available in Visual Studio Code when you have the GitLab Wo
Code Suggestions may produce [low-quality or incomplete suggestions](#model-accuracy-and-quality). The best results from Code Suggestions are expected for these six languages:
-- C
-- C++
+- C/C++
+- C#
- Go
- Java
- JavaScript
- Python
+- PHP
+- Ruby
+- Rust
+- Scala
+- TypeScript
Suggestions may be mixed for other languages. Using natural language code comments to request completions may also not function as expected.
diff --git a/doc/user/project/repository/img/update-fork_v15_11.png b/doc/user/project/repository/img/update-fork_v15_11.png
index b5a23924c12..244868d80ae 100644
--- a/doc/user/project/repository/img/update-fork_v15_11.png
+++ b/doc/user/project/repository/img/update-fork_v15_11.png
Binary files differ
diff --git a/spec/helpers/merge_requests_helper_spec.rb b/spec/helpers/merge_requests_helper_spec.rb
index a0bd8df81cc..93df9d5f94b 100644
--- a/spec/helpers/merge_requests_helper_spec.rb
+++ b/spec/helpers/merge_requests_helper_spec.rb
@@ -204,4 +204,22 @@ RSpec.describe MergeRequestsHelper, feature_category: :code_review_workflow do
end
end
end
+
+ describe '#tab_count_display' do
+ let(:merge_request) { create(:merge_request) }
+
+ context 'when merge request is preparing' do
+ before do
+ allow(merge_request).to receive(:preparing?).and_return(true)
+ end
+
+ it { expect(tab_count_display(merge_request, 0)).to eq('-') }
+ it { expect(tab_count_display(merge_request, '0')).to eq('-') }
+ end
+
+ context 'when merge request is prepared' do
+ it { expect(tab_count_display(merge_request, 10)).to eq(10) }
+ it { expect(tab_count_display(merge_request, '10')).to eq('10') }
+ end
+ end
end