Skip to content
Snippets Groups Projects
Commit 8b992ba2 authored by 🤖 GitLab Bot 🤖's avatar 🤖 GitLab Bot 🤖
Browse files

Add latest changes from gitlab-org/gitlab@master

parent 62a3deaa
No related branches found
No related tags found
No related merge requests found
Showing
with 79 additions and 226 deletions
......@@ -1183,20 +1183,6 @@ Layout/ArgumentAlignment:
- 'ee/spec/requests/groups/two_factor_auths_controller_spec.rb'
- 'ee/spec/requests/smartcard_controller_spec.rb'
- 'ee/spec/requests/users/identity_verification_controller_spec.rb'
- 'ee/spec/services/analytics/cycle_analytics/aggregator_service_spec.rb'
- 'ee/spec/services/analytics/devops_adoption/enabled_namespaces/find_or_create_service_spec.rb'
- 'ee/spec/services/arkose/blocked_users_report_service_spec.rb'
- 'ee/spec/services/audit_events/protected_branch_audit_event_service_spec.rb'
- 'ee/spec/services/audit_events/streaming/event_type_filters/create_service_spec.rb'
- 'ee/spec/services/audit_events/streaming/event_type_filters/destroy_service_spec.rb'
- 'ee/spec/services/auto_merge/merge_train_service_spec.rb'
- 'ee/spec/services/boards/lists/update_service_spec.rb'
- 'ee/spec/services/ee/boards/issues/create_service_spec.rb'
- 'ee/spec/services/ee/boards/issues/list_service_spec.rb'
- 'ee/spec/services/ee/boards/issues/move_service_spec.rb'
- 'ee/spec/services/ee/boards/lists/create_service_spec.rb'
- 'ee/spec/services/ee/boards/lists/max_limits_spec.rb'
- 'ee/spec/services/ee/incident_management/issuable_escalation_statuses/after_update_service_spec.rb'
- 'ee/spec/services/ee/merge_requests/refresh_service_spec.rb'
- 'ee/spec/services/ee/merge_requests/update_assignees_service_spec.rb'
- 'ee/spec/services/ee/merge_requests/update_reviewers_service_spec.rb'
......
......@@ -70,28 +70,8 @@ def resolve(_args)
private
def ready?(**args)
raise_resource_not_available_error! if Feature.enabled?(:remove_monitor_metrics)
# Raise error if both cluster_id and environment_id are present or neither is present
unless args[:cluster_id].present? ^ args[:environment_id].present?
raise Gitlab::Graphql::Errors::ArgumentError, ANNOTATION_SOURCE_ARGUMENT_ERROR
end
super(**args)
end
def annotation_create_params(args)
annotation_source = AnnotationSource.new(object: annotation_source(args))
args[annotation_source.type] = annotation_source.object
args
end
def annotation_source(args)
annotation_source_id = args[:cluster_id] || args[:environment_id]
authorized_find!(id: annotation_source_id)
def ready?(**_args)
raise_resource_not_available_error!
end
end
end
......
......@@ -17,8 +17,6 @@ class AnnotationResolver < Resolvers::BaseResolver
alias_method :dashboard, :object
def resolve(**_args)
return if Feature.enabled?(:remove_monitor_metrics)
[]
end
end
......
......@@ -8,12 +8,12 @@ class RunnerJobExecutionStatusEnum < BaseEnum
value 'IDLE',
description: "Runner is idle.",
value: :idle,
deprecated: { milestone: '15.7', reason: :alpha }
alpha: { milestone: '15.7' }
value 'RUNNING',
description: 'Runner is executing jobs.',
value: :running,
deprecated: { milestone: '15.7', reason: :alpha }
alpha: { milestone: '15.7' }
end
end
end
......@@ -21,7 +21,7 @@ class RunnerMembershipFilterEnum < BaseEnum
"Include all runners. This list includes runners for all projects in the group " \
"and subgroups, as well as for the parent groups and instance.",
value: :all_available,
deprecated: { milestone: '15.5', reason: :alpha }
alpha: { milestone: '15.5' }
end
end
end
......@@ -554,7 +554,7 @@ For your app, complete the following steps on Casdoor:
ensure the Casdoor app has the following
`Redirect URI`: `https://gitlab.example.com/users/auth/openid_connect/callback`.
See the [Casdoor documentation](https://casdoor.org/docs/integration/ruby/gitlab) for more details.
See the [Casdoor documentation](https://casdoor.org/docs/integration/ruby/gitlab/) for more details.
Example configuration for Linux package installations (file path: `/etc/gitlab/gitlab.rb`):
......
......@@ -14,8 +14,8 @@ these definitions yet.
These are the defined terms to describe all aspects of Geo. Using a set of clearly
defined terms helps us to communicate efficiently and avoids confusion. The language
on this page aims to be [ubiquitous](https://about.gitlab.com/handbook/communication/#ubiquitous-language)
and [as simple as possible](https://about.gitlab.com/handbook/communication/#simple-language).
on this page aims to be [ubiquitous](https://handbook.gitlab.com/handbook/communication/#ubiquitous-language)
and [as simple as possible](https://handbook.gitlab.com/handbook/communication/#simple-language).
We provide example diagrams and statements to demonstrate correct usage of terms.
......
......@@ -57,7 +57,7 @@ If you have not yet migrated to Gitaly Cluster, you have two options:
- A sharded Gitaly instance.
- Gitaly Cluster.
Contact your [Customer Success Manager](https://about.gitlab.com/job-families/sales/customer-success-management/) or customer support if you have any questions.
Contact your [Customer Success Manager](https://handbook.gitlab.com/job-families/sales/customer-success-management/) or customer support if you have any questions.
### Known issues
......
......@@ -1079,7 +1079,7 @@ Issues and merge requests enforce these maximums:
## CDN-based limits on GitLab.com
In addition to application-based limits, GitLab.com is configured to use Cloudflare's standard DDoS protection and Spectrum to protect Git over SSH. Cloudflare terminates client TLS connections but is not application aware and cannot be used for limits tied to users or groups. Cloudflare page rules and rate limits are configured with Terraform. These configurations are [not public](https://about.gitlab.com/handbook/communication/#not-public) because they include security and abuse implementations that detect malicious activities and making them public would undermine those operations.
In addition to application-based limits, GitLab.com is configured to use Cloudflare's standard DDoS protection and Spectrum to protect Git over SSH. Cloudflare terminates client TLS connections but is not application aware and cannot be used for limits tied to users or groups. Cloudflare page rules and rate limits are configured with Terraform. These configurations are [not public](https://handbook.gitlab.com/handbook/communication/confidentiality-levels/#not-public) because they include security and abuse implementations that detect malicious activities and making them public would undermine those operations.
## Container Repository tag deletion limit
......
......@@ -36,9 +36,9 @@ Supported libraries include:
<!-- vale gitlab.Spelling = NO -->
- [Bytefield](https://bytefield-svg.deepsymmetry.org/)
- [Bytefield](https://bytefield-svg.deepsymmetry.org/bytefield-svg/intro.html)
- [D2](https://d2lang.com/tour/intro/)
- [DBML](https://www.dbml.org/home/)
- [DBML](https://dbml.dbdiagram.io/home/)
- [Ditaa](https://ditaa.sourceforge.net)
- [Erd](https://github.com/BurntSushi/erd)
- [GraphViz](https://www.graphviz.org/)
......
......@@ -453,7 +453,7 @@ settings to allow the GitLab domain. See the following documentation
for more details:
1. [AWS S3](https://repost.aws/knowledge-center/s3-configure-cors)
1. [Google Cloud Storage](https://cloud.google.com/storage/docs/configuring-cors)
1. [Google Cloud Storage](https://cloud.google.com/storage/docs/using-cors)
1. [Azure Storage](https://learn.microsoft.com/en-us/rest/api/storageservices/cross-origin-resource-sharing--cors--support-for-the-azure-storage-services).
## Known limitations
......
......@@ -25,7 +25,7 @@ You can use your browser's developer tools to monitor and inspect network
activity with the site that you're visiting. See the links below for network monitoring
documentation for some popular browsers.
- [Network Monitor - Firefox Developer Tools](https://developer.mozilla.org/en-US/docs/Tools/Network_Monitor)
- [Network Monitor - Firefox Developer Tools](https://firefox-source-docs.mozilla.org/devtools-user/network_monitor/index.html)
- [Inspect Network Activity In Chrome DevTools](https://developer.chrome.com/docs/devtools/network/)
- [Safari Web Development Tools](https://developer.apple.com/safari/tools/)
- [Microsoft Edge Network panel](https://learn.microsoft.com/en-us/microsoft-edge/devtools-guide-chromium/network/)
......
......@@ -237,7 +237,7 @@ To set up an instance profile:
}
```
1. [Attach this role](https://aws.amazon.com/premiumsupport/knowledge-center/attach-replace-ec2-instance-profile/)
1. [Attach this role](https://repost.aws/knowledge-center/attach-replace-ec2-instance-profile)
to the EC2 instance hosting your GitLab instance.
1. Set the `use_iam_profile` GitLab configuration option to `true`.
......
......@@ -500,7 +500,7 @@ To configure the `s3` storage driver for a Linux package installation:
`bucket_name.host/object`. [Set to false for AWS S3](https://aws.amazon.com/blogs/aws/amazon-s3-path-deprecation-plan-the-rest-of-the-story/).
You can set a rate limit on connections to S3 to avoid 503 errors from the S3 API. To do this,
set `maxrequestspersecond` to a number within the [S3 request rate threshold](https://repost.aws/knowledge-center/s3-503-within-request-rate-prefix):
set `maxrequestspersecond` to a number within the [S3 request rate threshold](https://repost.aws/knowledge-center/http-5xx-errors-s3):
```ruby
registry['storage'] = {
......
......@@ -152,7 +152,7 @@ This can happen to GitLab instances with multiple servers
running both the core GitLab application and GitLab Pages. This can also happen when a single
container is running both the core GitLab application and GitLab Pages.
AWS [recommends using an IP target type](https://aws.amazon.com/premiumsupport/knowledge-center/target-connection-fails-load-balancer/)
AWS [recommends using an IP target type](https://repost.aws/knowledge-center/target-connection-fails-load-balancer)
to resolve this issue.
Turning off [client IP preservation](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#client-ip-preservation)
......
......@@ -9,142 +9,22 @@ info: To determine the technical writer assigned to the Stage/Group associated w
GitLab stores [repositories](../user/project/repository/index.md) on repository storage. Repository
storage is either:
- A `gitaly_address`, which points to a [Gitaly node](gitaly/index.md).
- A `path`, which points directly to the directory where the repositories are stored. GitLab
directly accessing a directory containing repositories
[is deprecated](https://gitlab.com/gitlab-org/gitaly/-/issues/1690).
GitLab should be configured to access GitLab repositories through a `gitaly_address`.
GitLab allows you to define multiple repository storages to distribute the storage load between
several mount points. For example:
- When using Gitaly (Linux package installation-style configuration):
```ruby
git_data_dirs({
'default' => { 'gitaly_address' => 'tcp://gitaly1.internal:8075' },
'storage2' => { 'gitaly_address' => 'tcp://gitaly2.internal:8075' },
})
```
- When using direct repository storage (self-compiled installation-style configuration):
```plaintext
default:
gitaly_address: tcp://gitaly1.example:8075
storage2:
gitaly_address: tcp://gitaly2.example:8075
```
For more information on:
- Configuring Gitaly, see [Configure Gitaly](gitaly/index.md#configure-gitaly).
- Configuring direct repository access, see the following section below.
## Configure repository storage paths
- Physical storage configured with a `gitaly_address` that points to a [Gitaly node](gitaly/index.md).
- [Virtual storage](gitaly/index.md#virtual-storage) that stores repositories on a Gitaly Cluster.
WARNING:
The following information is for configuring GitLab to directly access repositories. This
configuration option is deprecated in favor of using [Gitaly](gitaly/index.md).
[Issue 403318](https://gitlab.com/gitlab-org/gitlab/-/issues/403318) proposes to remove this configuration option.
To configure repository storage paths:
1. Edit the necessary configuration files:
- `/etc/gitlab/gitlab.rb`, for Linux package installations.
- `gitlab.yml`, for self-compiled installations.
1. Add the required repository storage paths.
For repository storage paths:
- You must have at least one storage path called `default`.
- The paths are defined in key-value pairs. Apart from `default`, the key can be any name you choose
to name the file path.
- The target directories and any of its sub paths must not be a symlink.
- No target directory may be a sub-directory of another. That is, no nesting. For example, the
following configuration is invalid:
```plaintext
default:
path: /mnt/git-storage-1
storage2:
path: /mnt/git-storage-1/git-storage-2 # <- NOT OK because of nesting
```
### Configure for backups
For [backups](../administration/backup_restore/index.md) to work correctly:
- The repository storage path cannot be a mount point.
- The GitLab user must have correct permissions for the parent directory of the path.
The Linux package takes care of these issues for you but for self-compiled installations, you should be extra
careful.
Repository storage could be configured as a `path` that points directly to the directory where the repositories are
stored. GitLab directly accessing a directory containing repositories is deprecated. You should configure GitLab to
access repositories through a physical or virtual storage.
While restoring a backup, the current contents of `/home/git/repositories` are moved to
`/home/git/repositories.old`. If `/home/git/repositories` is a mount point, then `mv` would be
moving things between mount points, and problems can occur.
Ideally, `/home/git` is the mount point, so things remain inside the same mount point. Linux package
installations guarantee this because they don't specify the full repository path but instead
the parent path, but self-compiled installations do not.
### Example configuration
In the examples below, we add two additional repository storage paths configured to two additional
mount points.
For compatibility reasons `gitlab.yml` has a different structure than Linux package installation configuration:
- In `gitlab.yml`, you indicate the path for the repositories. For example, `/home/git/repositories`.
- In Linux package installation configuration, you indicate `git_data_dirs`, which could be `/home/git` for
example. The Linux package installation then creates a `repositories` directory under that path to use with
`gitlab.yml`.
For self-compiled installations:
1. Edit `gitlab.yml` and add the storage paths:
```yaml
repositories:
# Paths where repositories can be stored. Give the canonicalized absolute pathname.
# NOTE: REPOS PATHS MUST NOT CONTAIN ANY SYMLINK!!!
storages: # You must have at least a 'default' repository storage path.
default:
path: /home/git/repositories
storage1:
path: /mnt/storage1/repositories
storage2:
path: /mnt/storage2/repositories
```
1. [Restart GitLab](restart_gitlab.md#self-compiled-installations) for the changes to take effect.
1. [Configure where new repositories are stored](#configure-where-new-repositories-are-stored).
For Linux package installations:
1. Edit `/etc/gitlab/gitlab.rb` by appending the rest of the paths to the default one:
```ruby
git_data_dirs({
"default" => { "path" => "/var/opt/gitlab/git-data" },
"storage1" => { "path" => "/mnt/storage1/git-data" },
"storage2" => { "path" => "/mnt/storage2/git-data" }
})
```
1. [Restart GitLab](restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect.
1. [Configure where new repositories are stored](#configure-where-new-repositories-are-stored).
For more information on:
NOTE:
Linux package installations store the repositories in a `repositories` subdirectory of the `git-data` directory.
- Configuring Gitaly, see [Configure Gitaly](gitaly/configure_gitaly.md).
- Configuring Gitaly Cluster, see [Configure Gitaly Cluster](gitaly/praefect.md).
## Configure where new repositories are stored
After you [configure](#configure-repository-storage-paths) multiple repository storage paths, you
can choose where new repositories are stored:
After you configure multiple repository storages, you can choose where new repositories are stored:
1. On the left sidebar, expand the top-most chevron (**{chevron-down}**).
1. Select **Admin Area**.
......@@ -157,8 +37,7 @@ Each repository storage path can be assigned a weight from 0-100. When a new pro
these weights are used to determine the storage location the repository is created on.
The higher the weight of a given repository storage path relative to other repository storages
paths, the more often it is chosen. That is,
`(storage weight) / (sum of all weights) * 100 = chance %`.
paths, the more often it is chosen (`(storage weight) / (sum of all weights) * 100 = chance %`).
By default, if repository weights have not been configured earlier:
......
......@@ -58,7 +58,6 @@ The [Jira issue integration](configure.md) posts GitLab data in the form of comm
The GitLab for Jira Cloud app and Jira DVCS connector share this data through the [Jira development panel](development_panel.md).
This method provides more fine-grained access control because access can be restricted to certain user groups or roles.
## Third-party Jira integrations
## Related topics
Developers have built several third-party Jira integrations for GitLab that are
listed on the [Atlassian Marketplace](https://marketplace.atlassian.com/search?product=jira&query=gitlab).
- [Third-party Jira integrations](https://marketplace.atlassian.com/search?product=jira&query=gitlab)
......@@ -11,7 +11,7 @@ Branches are versions of a project's working tree. When you create a new
cannot be deleted) for your repository. Default branch settings can be configured
at the project, subgroup, group, or instance level.
As your project grows, your team [creates](../web_editor.md#create-a-branch) more
As your project grows, your team creates more
branches, preferably by following [branch naming patterns](#prefix-branch-names-with-issue-numbers).
Each branch represents a set of changes, which allows development work to be done
in parallel. Development work in one branch does not affect another branch.
......@@ -27,6 +27,10 @@ Branches are the foundation of development in a project:
## Create branch
Prerequisites:
- You must have at least the Developer role for the project.
To create a new branch from the GitLab UI:
1. On the left sidebar, at the top, select **Search GitLab** (**{search}**) to find your project.
......@@ -44,8 +48,8 @@ you can add one.
Prerequisites:
- You must have at least the Developer role in the project.
- Unless you have the Maintainer or Owner roles, the
- You must have at least the Developer role for the project.
- If you don't have the Maintainer or Owner role, the
[default branch protection](../../../group/manage.md#change-the-default-branch-protection-of-a-group)
must be set to `Partially protected` or `Not protected` for you to push a commit
to the default branch.
......@@ -64,7 +68,7 @@ GitLab creates a default branch and adds your file to it.
Prerequisites:
- You must have at least the Developer role in the project.
- You must have at least the Developer role for the project.
When viewing an issue, you can create an associated branch directly from that page.
Branches created this way use the
......@@ -73,7 +77,7 @@ including variables.
Prerequisites:
- You must have at least the Developer role in the project.
- You must have at least the Developer role for the project.
To create a branch from an issue:
......@@ -89,7 +93,7 @@ To create a branch from an issue:
## Manage and protect branches
GitLab provides you multiple methods to protect individual branches. These methods
GitLab provides multiple methods to protect individual branches. These methods
ensure your branches receive oversight and quality checks from their creation to their deletion:
- The [default branch](default.md) in your project receives extra protection.
......@@ -104,7 +108,7 @@ ensure your branches receive oversight and quality checks from their creation to
You can manage your branches:
- With the GitLab user interface.
- With the [command line](../../../../gitlab-basics/start-using-git.md#create-a-branch).
- With Git on the [command line](../../../../gitlab-basics/start-using-git.md#create-a-branch).
- With the [Branches API](../../../../api/branches.md).
### View all branches
......@@ -116,7 +120,7 @@ To view and manage your branches in the GitLab user interface:
On this page, you can:
- See all branches, active branches, or stale branches.
- See all branches, or filter to see only active or stale branches.
- Create new branches.
- [Compare branches](#compare-branches).
- Delete merged branches.
......@@ -145,19 +149,19 @@ and their protection methods:
Prerequisites:
- You must have at least the Maintainer role in the project.
- You must have at least the Maintainer role for the project.
To view the **Branch rules overview** list:
1. On the left sidebar, at the top, select **Search GitLab** (**{search}**) to find your project.
1. Select **Settings > Repository**.
1. Expand **Branch Rules** to view all branches with protections.
1. Expand **Branch rules** to view all branches with protections.
- To add protections to a new branch:
1. Select **Add branch rule**.
1. Select **Create protected branch**.
- To view more information about protections on an existing branch:
1. Identify the branch you want more information about.
1. Select **Details** to see information about its:
1. Select **View details** to see information about its:
- [Branch protections](../../protected_branches.md).
- [Approval rules](../../merge_requests/approvals/rules.md).
- [Status checks](../../merge_requests/status_checks.md).
......@@ -173,12 +177,17 @@ GitLab enforces these additional rules on all branches:
- No spaces are allowed in branch names.
- Branch names with 40 hexadecimal characters are prohibited, because they are similar to Git commit hashes.
Common software packages, like Docker, may enforce
Common software packages, like Docker, can enforce
[additional branch naming restrictions](../../../../administration/packages/container_registry.md#docker-connection-error).
For best compatibility with other software packages, use only numbers, hyphens (`-`),
underscores (`_`), and lower-case letters from the ASCII standard table. You
can use forward slashes (`/`) and emoji in branch names, but compatibility with other
For the best compatibility with other software packages, use only:
- Numbers
- Hyphens (`-`)
- Underscores (`_`)
- Lowercase letters from the ASCII standard table
You can use forward slashes (`/`) and emoji in branch names, but compatibility with other
software packages cannot be guaranteed.
Branch names with specific formatting offer extra benefits:
......@@ -224,18 +233,6 @@ issue number. GitLab uses the issue number to import data into the merge request
## Compare branches
> - Repository filter search box [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52967) in GitLab 13.10.
> - Revision swapping [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/60491) in GitLab 13.12.
The default compare mode uses the `git diff from...to` method, instead of the
`git diff from to` method, to compare branches. The `git diff from...to` method
provides a more human-readable diff, because it does not include unrelated changes
made to the target branch after the source branch was created.
NOTE:
The `git diff from...to` method shows all changes from a cherry-picked commit as
new changes. It uses the merge base, not the actual commit content, to compare branches.
To compare branches in a repository:
1. On the left sidebar, at the top, select **Search GitLab** (**{search}**) to find your project.
......@@ -247,8 +244,23 @@ To compare branches in a repository:
- `*` matches using a wildcard: `branch*cache*` matches `fix/branch-search-cache-expiration`.
- You can combine operators: `^chore/*migration$` matches `chore/user-data-migration`.
1. Select the **Target** repository and branch. Exact matches are shown first.
1. Select **Compare** to show the list of commits, and changed files. To reverse
the **Source** and **Target**, select **Swap revisions**.
1. Below **Show changes**, select the method to compare branches:
<!-- vale gitlab.SubstitutionWarning = NO -->
<!-- Disable Vale so it doesn't flag "since" -->
- **Only incoming changes from source** (default) shows differences from the source branch since
the latest common commit on both branches.
It doesn't include unrelated changes made to the target branch after the source branch was created.
This method uses the `git diff <from>...<to>`
[Git command](https://git-scm.com/docs/git-diff#Documentation/git-diff.txt-emgitdiffemltoptionsgtltcommitgtltcommitgt--ltpathgt82308203-1).
To compare branches, this method uses the merge base instead of the actual commit, so
changes from cherry-picked commits are shown as new changes.
- **Include changes to target since source was created** shows all the differences between the two
branches.
This method uses the `git diff <from> <to>`
[Git command](https://git-scm.com/docs/git-diff#Documentation/git-diff.txt-emgitdiffemltoptionsgt--merge-baseltcommitgtltcommitgt--ltpathgt82308203).
<!-- vale gitlab.SubstitutionWarning = YES -->
1. Select **Compare** to show the list of commits, and changed files.
1. Optional. To reverse the **Source** and **Target**, select **Swap revisions** (**{substitute}**).
## Delete merged branches
......@@ -259,7 +271,7 @@ Merged branches can be deleted in bulk if they meet all of these criteria:
Prerequisites:
- You must have at least the Developer role in the project.
- You must have at least the Developer role for the project.
To do this:
......@@ -267,7 +279,7 @@ To do this:
1. Select **Code > Branches**.
1. On the upper right corner of the page, select **More** **{ellipsis_v}**.
1. Select **Delete merged branches**.
1. In the modal window, enter the word `delete` to confirm, then select **Delete merged branches**.
1. In the dialog, enter the word `delete` to confirm, then select **Delete merged branches**.
## Related topics
......
......@@ -53,11 +53,12 @@ Advanced search uses [Elasticsearch syntax](https://www.elastic.co/guide/en/elas
| `#` | Issue ID | [`#23456`](https://gitlab.com/search?snippets=&scope=issues&repository_ref=&search=%2323456&group_id=9970&project_id=278964) |
| `!` | Merge request ID | [`!23456`](https://gitlab.com/search?snippets=&scope=merge_requests&repository_ref=&search=%2123456&group_id=9970&project_id=278964) |
### Refining user search
### User search
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/388409) in GitLab 15.10.
> Ability to refine user search [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/388409) in GitLab 15.10.
In user search, a [fuzzy query](https://www.elastic.co/guide/en/elasticsearch/reference/7.2/query-dsl-fuzzy-query.html) is used by default. You can refine your search with [Elasticsearch syntax](#syntax).
When you search for a user, a [fuzzy query](https://www.elastic.co/guide/en/elasticsearch/reference/7.2/query-dsl-fuzzy-query.html) is used by default.
You can refine user search with [Elasticsearch syntax](#syntax).
### Code search
......@@ -68,7 +69,7 @@ In user search, a [fuzzy query](https://www.elastic.co/guide/en/elasticsearch/re
| `extension:` | File extension without `.` <sup>2</sup> | [`extension:js`](https://gitlab.com/search?group_id=9970&project_id=278964&repository_ref=&scope=blobs&search=extension%3Ajs&snippets=) |
| `blob:` | Git object ID <sup>2</sup> | [`blob:998707*`](https://gitlab.com/search?snippets=false&scope=blobs&repository_ref=&search=blob%3A998707*&group_id=9970) |
1. `path:` returns matches for full paths or subpaths.
1. `path:` returns matches for full or partial paths.
1. `extension:` and `blob:` return exact matches only.
### Examples
......@@ -81,7 +82,6 @@ In user search, a [fuzzy query](https://www.elastic.co/guide/en/elasticsearch/re
| [<code>helper -extension:yml -extension:js</code>](https://gitlab.com/search?group_id=9970&project_id=278964&repository_ref=&scope=blobs&search=helper+-extension%3Ayml+-extension%3Ajs&snippets=) | Returns `helper` in all files except files with a `.yml` or `.js` extension. |
| [<code>helper path:lib/git</code>](https://gitlab.com/search?group_id=9970&project_id=278964&scope=blobs&search=helper+path%3Alib%2Fgit) | Returns `helper` in all files with a `lib/git*` path (for example, `spec/lib/gitlab`). |
<!-- markdownlint-enable -->
## Known issues
......@@ -89,8 +89,8 @@ In user search, a [fuzzy query](https://www.elastic.co/guide/en/elasticsearch/re
- You can only search files smaller than 1 MB.
For more information, see [issue 195764](https://gitlab.com/gitlab-org/gitlab/-/issues/195764).
For self-managed GitLab instances, an administrator can
[change this limit](../../integration/advanced_search/elasticsearch.md#advanced-search-configuration).
- You can only use advanced search on the default branch of a project.
[configure this setting](../../integration/advanced_search/elasticsearch.md#advanced-search-configuration).
- You can use advanced search on the default branch of a project only.
For more information, see [issue 229966](https://gitlab.com/gitlab-org/gitlab/-/issues/229966).
- The search query must not contain any of the following characters:
......
......@@ -27,7 +27,6 @@ def init_gitlab_deprecation(kwargs)
end
# GitLab allows items to be marked as "alpha", which leverages GraphQL deprecations.
# TODO remove
deprecation_args = kwargs.extract!(:alpha, :deprecated)
self.deprecation = Deprecation.parse(**deprecation_args)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment