Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-12-12 12:12:56 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-12-12 12:12:56 +0300
commit2d560e614a2d5feea84288c2d1f50b40d796f97a (patch)
tree8a6a18e6f5befc04de3db43554899aced9af5fd3 /doc
parentd89147da045b9d00c4e35de3c7b39ed2b02ef7a6 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'doc')
-rw-r--r--doc/api/graphql/reference/index.md2
-rw-r--r--doc/api/member_roles.md4
-rw-r--r--doc/development/bitbucket_server_importer.md84
-rw-r--r--doc/development/documentation/styleguide/word_list.md8
-rw-r--r--doc/user/custom_roles.md2
-rw-r--r--doc/user/project/working_with_projects.md4
6 files changed, 94 insertions, 10 deletions
diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md
index 7c7a4402146..92972094891 100644
--- a/doc/api/graphql/reference/index.md
+++ b/doc/api/graphql/reference/index.md
@@ -8136,7 +8136,7 @@ Input type: `VulnerabilitiesRemoveAllFromProjectInput`
| Name | Type | Description |
| ---- | ---- | ----------- |
| <a id="mutationvulnerabilitiesremoveallfromprojectclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
-| <a id="mutationvulnerabilitiesremoveallfromprojectprojectids"></a>`projectIds` | [`[ProjectID!]!`](#projectid) | IDs of project for which all Vulnerabilities should be removed. The deletion will happen in the background so the changes will not be visible immediately. Does not work if `enable_remove_all_vulnerabilties_from_project_mutation` feature flag is disabled. |
+| <a id="mutationvulnerabilitiesremoveallfromprojectprojectids"></a>`projectIds` | [`[ProjectID!]!`](#projectid) | IDs of project for which all Vulnerabilities should be removed. The deletion will happen in the background so the changes will not be visible immediately. |
#### Fields
diff --git a/doc/api/member_roles.md b/doc/api/member_roles.md
index 83e130c1d51..24ac7099004 100644
--- a/doc/api/member_roles.md
+++ b/doc/api/member_roles.md
@@ -16,10 +16,10 @@ info: To determine the technical writer assigned to the Stage/Group associated w
> - [Feature flag `admin_merge_request` removed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/132578) in GitLab 16.5.
> - [Admin group members introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/131914) in GitLab 16.5 [with a flag](../administration/feature_flags.md) named `admin_group_member`. Disabled by default. The feature flag has been removed in GitLab 16.6.
> - [Manage project access tokens introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/132342) in GitLab 16.5 in [with a flag](../administration/feature_flags.md) named `manage_project_access_tokens`. Disabled by default.
-> - [Archive project introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/134998) in GitLab 16.6 in [with a flag](../administration/feature_flags.md) named `archive_project`. Disabled by default.
+> - [Archive project introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/134998) in GitLab 16.7.
FLAG:
-On self-managed GitLab, by default these features are not available. To make them available, an administrator can [enable the feature flags](../administration/feature_flags.md) named `admin_group_member`, `manage_project_access_tokens` and `archive_project`.
+On self-managed GitLab, by default these features are not available. To make them available, an administrator can [enable the feature flags](../administration/feature_flags.md) named `admin_group_member` and `manage_project_access_tokens`.
On GitLab.com, these features are not available.
## List all member roles of a group
diff --git a/doc/development/bitbucket_server_importer.md b/doc/development/bitbucket_server_importer.md
new file mode 100644
index 00000000000..3a1f5a4febd
--- /dev/null
+++ b/doc/development/bitbucket_server_importer.md
@@ -0,0 +1,84 @@
+---
+stage: none
+group: unassigned
+info: Any user with at least the Maintainer role can merge updates to this content. For details, see https://docs.gitlab.com/ee/development/development_processes.html#development-guidelines-review.
+---
+
+# Bitbucket Server importer developer documentation
+
+## Prerequisites
+
+To test imports, you need a Bitbucket Server instance running locally. For information on running a local instance, see
+[these instructions](https://gitlab.com/gitlab-org/manage/import-and-integrate/team/-/blob/main/integrations/bitbucket_server.md).
+
+## Code structure
+
+The importer's codebase is broken up into the following directories:
+
+- `lib/gitlab/bitbucket_server_import`: this directory contains most of the code such as
+ the classes used for importing resources.
+- `app/workers/gitlab/bitbucket_server_import`: this directory contains the Sidekiq
+ workers.
+
+## How imports advance
+
+When a Bitbucket Server project is imported, work is divided into separate stages, with
+each stage consisting of a set of Sidekiq jobs that are executed.
+
+Between every stage, a job called `Gitlab::BitbucketServerImport::AdvanceStageWorker`
+is scheduled that periodically checks if all work of the current stage is completed. If
+all the work is complete, the job advances the import process to the next stage.
+
+## Stages
+
+### 1. Stage::ImportRepositoryWorker
+
+This worker imports the repository and schedules the next stage when
+done.
+
+### 2. Stage::ImportPullRequestsWorker
+
+This worker imports all pull requests. For every pull request, a job for the
+`Gitlab::BitbucketImport::ImportPullRequestWorker` worker is scheduled.
+
+Bitbucket Server keeps tracks of references for open pull requests in
+`refs/heads/pull-requests`, but closed and merged requests get moved
+into hidden internal refs under `stash-refs/pull-requests`.
+
+As a result, they are not fetched by default. To prevent merge requests from not having
+commits and therefore having empty diffs, we fetch affected source and target
+commits from the server before importing the pull request.
+We save the fetched commits as refs so that Git doesn't remove them, which can happen
+if they are unused.
+Source commits are saved as `#{commit}:refs/merge-requests/#{pull_request.iid}/head`
+and target commits are saved as `#{commit}:refs/keep-around/#{commit}`.
+
+When creating a pull request, we need to match Bitbucket users with GitLab users for
+the author and reviewers. Whenever a matching user is found, the GitLab user ID is cached
+for 24 hours so that it doesn't have to be searched for again.
+
+### 3. Stage::ImportNotesWorker
+
+This worker imports notes (comments) for all merge requests.
+
+For every merge request, a job for the `Gitlab::BitbucketServerImport::ImportPullRequestNotesWorker`
+worker is scheduled which imports all standalone comments, inline comments, merge events, and
+approved events for the merge request.
+
+### 4. Stage::ImportLfsObjectsWorker
+
+Imports LFS objects from the source project by scheduling a
+`Gitlab::BitbucketServerImport::ImportLfsObjectsWorker` job for every LFS object.
+
+### 5. Stage::FinishImportWorker
+
+This worker completes the import process by performing some housekeeping
+such as marking the import as completed.
+
+## Pull request mentions
+
+Pull request descriptions and notes can contain @mentions to users. If a user with the
+same email does not exist on GitLab, this can lead to incorrect users being tagged.
+
+To get around this, we build a cache containing all users who have access to the Bitbucket
+project and then convert mentions in pull request descriptions and notes.
diff --git a/doc/development/documentation/styleguide/word_list.md b/doc/development/documentation/styleguide/word_list.md
index 913683c936d..c09f85134cf 100644
--- a/doc/development/documentation/styleguide/word_list.md
+++ b/doc/development/documentation/styleguide/word_list.md
@@ -222,8 +222,8 @@ Try to avoid **below** when referring to an example or table in a documentation
Use uppercase for **Beta**. For example: **The XYZ feature is in Beta.** or **This Beta release is ready to test.**
-You might also want to link to [this section](../../../policy/experiment-beta-support.md#beta)
-in the handbook when writing about Beta features.
+You might also want to link to [this topic](../../../policy/experiment-beta-support.md#beta)
+when writing about Beta features.
## blacklist
@@ -626,8 +626,8 @@ Use **expand** instead of **open** when you are talking about expanding or colla
Use uppercase for **Experiment**. For example: **The XYZ feature is an Experiment.** or **This Experiment is ready to test.**
-You might also want to link to [this section](../../../policy/experiment-beta-support.md#experiment)
-in the handbook when writing about Experiment features.
+You might also want to link to [this topic](../../../policy/experiment-beta-support.md#experiment)
+when writing about Experiment features.
## export
diff --git a/doc/user/custom_roles.md b/doc/user/custom_roles.md
index 3741424bdf1..1f3628efa39 100644
--- a/doc/user/custom_roles.md
+++ b/doc/user/custom_roles.md
@@ -15,7 +15,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
> - Ability to create and remove a custom role with the UI [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/393235) in GitLab 16.4.
> - Ability to manage group members [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/17364) in GitLab 16.5.
> - Ability to manage project access tokens [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/421778) in GitLab 16.5 [with a flag](../administration/feature_flags.md) named `manage_project_access_tokens`.
-> - Ability to archive projects [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/425957) in GitLab 16.6 in [with a flag](../administration/feature_flags.md) named `archive_project`. Disabled by default.
+> - Ability to archive projects [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/425957) in GitLab 16.7.
> - Ability to use the UI to add a user to your group with a custom role, change a user's custom role, or remove a custom role from a group member [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/393239) in GitLab 16.7.
Custom roles allow group Owners or instance administrators to create roles
diff --git a/doc/user/project/working_with_projects.md b/doc/user/project/working_with_projects.md
index 744b5406707..1eadf0a7d92 100644
--- a/doc/user/project/working_with_projects.md
+++ b/doc/user/project/working_with_projects.md
@@ -246,7 +246,7 @@ go to `https://gitlab.example.com/projects/<id>`.
To copy the project ID:
1. On the left sidebar, select **Search or go to** and find your project.
-1. On the project overview page, in the upper-right corner, select **Actions** (**{ellipsis_v})**.
+1. On the project overview page, in the upper-right corner, select **Actions** (**{ellipsis_v}**).
1. Select **Copy project ID**.
For example, if in your personal namespace `alex` you have a project `my-project` with the ID `123456`, you can access the project
@@ -288,7 +288,7 @@ Prerequisites:
To leave a project:
1. On the left sidebar, select **Search or go to** and find your project.
-1. On the project overview page, in the upper-right corner, select **Actions** (**{ellipsis_v})**.
+1. On the project overview page, in the upper-right corner, select **Actions** (**{ellipsis_v}**).
1. Select **Leave project**, then **Leave project** again..
## Add a compliance framework to a project **(PREMIUM)**