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:
Diffstat (limited to 'doc')
-rw-r--r--doc/.vale/gitlab/Acronyms.yml30
-rw-r--r--doc/.vale/gitlab/spelling-exceptions.txt1
-rw-r--r--doc/api/graphql/reference/index.md6
-rw-r--r--doc/development/application_secrets.md2
-rw-r--r--doc/development/database/constraint_naming_convention.md2
-rw-r--r--doc/development/elasticsearch.md8
-rw-r--r--doc/development/fe_guide/editor_lite.md2
-rw-r--r--doc/development/fe_guide/style/scss.md174
-rw-r--r--doc/development/internal_users.md2
-rw-r--r--doc/development/iterating_tables_in_batches.md6
-rw-r--r--doc/development/new_fe_guide/modules/widget_extensions.md2
-rw-r--r--doc/development/pipelines.md2
-rw-r--r--doc/development/testing_guide/frontend_testing.md33
-rw-r--r--doc/install/openshift_and_gitlab/index.md4
-rw-r--r--doc/operations/incident_management/alerts.md2
-rw-r--r--doc/university/README.md2
-rw-r--r--doc/user/group/value_stream_analytics/index.md2
-rw-r--r--doc/user/packages/conan_repository/index.md2
-rw-r--r--doc/user/packages/generic_packages/index.md2
-rw-r--r--doc/user/packages/go_proxy/index.md2
-rw-r--r--doc/user/project/code_owners.md2
-rw-r--r--doc/user/project/highlighting.md2
-rw-r--r--doc/user/project/import/github.md2
-rw-r--r--doc/user/project/import/index.md4
-rw-r--r--doc/user/project/import/perforce.md2
-rw-r--r--doc/user/project/integrations/hipchat.md2
-rw-r--r--doc/user/project/integrations/mattermost.md4
-rw-r--r--doc/user/project/integrations/mattermost_slash_commands.md2
-rw-r--r--doc/user/project/issues/design_management.md2
-rw-r--r--doc/user/project/issues/managing_issues.md2
-rw-r--r--doc/user/project/members/img/other_group_sees_shared_project.pngbin21154 -> 0 bytes
-rw-r--r--doc/user/project/members/img/other_group_sees_shared_project_v13_6.pngbin0 -> 291848 bytes
-rw-r--r--doc/user/project/members/img/share_project_with_groups.pngbin37405 -> 0 bytes
-rw-r--r--doc/user/project/members/img/share_project_with_groups_tab.pngbin36482 -> 0 bytes
-rw-r--r--doc/user/project/members/img/share_project_with_groups_tab_v13_6.pngbin0 -> 378257 bytes
-rw-r--r--doc/user/project/members/img/share_project_with_groups_v13_6.pngbin0 -> 395958 bytes
-rw-r--r--doc/user/project/members/share_project_with_groups.md17
-rw-r--r--doc/user/project/merge_requests/csv_export.md2
-rw-r--r--doc/user/project/merge_requests/reviewing_and_managing_merge_requests.md2
-rw-r--r--doc/user/project/merge_requests/test_coverage_visualization.md6
-rw-r--r--doc/user/project/pages/custom_domains_ssl_tls_certification/dns_concepts.md2
-rw-r--r--doc/user/project/pages/custom_domains_ssl_tls_certification/ssl_tls_concepts.md2
-rw-r--r--doc/user/project/pages/getting_started/pages_forked_sample_project.md2
-rw-r--r--doc/user/project/pages/index.md4
-rw-r--r--doc/user/project/pages/lets_encrypt_for_gitlab_pages.md2
-rw-r--r--doc/user/project/protected_branches.md2
-rw-r--r--doc/user/project/repository/index.md2
-rw-r--r--doc/user/project/repository/reducing_the_repo_size_using_git.md23
-rw-r--r--doc/user/project/repository/repository_mirroring.md2
-rw-r--r--doc/user/project/repository/web_editor.md2
-rw-r--r--doc/user/project/settings/import_export.md6
-rw-r--r--doc/user/project/settings/index.md10
-rw-r--r--doc/user/project/web_ide/index.md4
-rw-r--r--doc/user/project/wiki/index.md2
54 files changed, 161 insertions, 241 deletions
diff --git a/doc/.vale/gitlab/Acronyms.yml b/doc/.vale/gitlab/Acronyms.yml
index b3a220ccda4..2c28da972da 100644
--- a/doc/.vale/gitlab/Acronyms.yml
+++ b/doc/.vale/gitlab/Acronyms.yml
@@ -14,6 +14,7 @@ first: '\b([A-Z]{3,5})\b'
second: '(?:\b[A-Z][a-z]+ )+\(([A-Z]{3,5})\)'
# ... with the exception of these:
exceptions:
+ - AJAX
- ANSI
- API
- ARM
@@ -21,11 +22,14 @@ exceptions:
- ASCII
- AWS
- BSD
+ - CAS
- CLI
- CNA
- CNAME
- CORE
- CPU
+ - CRIME
+ - CSRF
- CSS
- CSV
- CVE
@@ -33,19 +37,28 @@ exceptions:
- DAST
- DHCP
- DNS
+ - DOM
+ - DSA
- DVCS
+ - ECDSA
- EKS
- EOL
+ - EXIF
- FAQ
- FOSS
+ - FQDN
- GCP
- GDK
+ - GDPR
- GET
- GIF
- GKE
- GNU
- GPG
- GPL
+ - GUI
+ - HAML
+ - HIPAA
- HTML
- HTTP
- HTTPS
@@ -55,11 +68,13 @@ exceptions:
- IDE
- IID
- IMAP
+ - IOPS
- IRC
- ISO
- JPEG
- JPG
- JSON
+ - JWT
- LAN
- LDAP
- LDAPS
@@ -76,17 +91,25 @@ exceptions:
- NOTE
- NPM
- ONLY
+ - OWASP
+ - PAT
+ - PCI-DSS
- PDF
+ - PEM
+ - PEP
- PGP
- PHP
- PNG
- POST
- PUT
- RAM
+ - RDP
- REST
+ - RFC
- RHEL
- RPC
- RPM
+ - RPS
- RSA
- RSS
- RVM
@@ -101,8 +124,12 @@ exceptions:
- SLA
- SMS
- SMTP
+ - SOC
+ - SOX
+ - SPF
- SQL
- SSD
+ - SSG
- SSH
- SSL
- SSO
@@ -119,9 +146,12 @@ exceptions:
- URL
- USB
- UTC
+ - UTF
- UUID
+ - VCS
- VPC
- WIP
- WSL
- XML
+ - XSS
- YAML
diff --git a/doc/.vale/gitlab/spelling-exceptions.txt b/doc/.vale/gitlab/spelling-exceptions.txt
index a960df49220..cb2264324c6 100644
--- a/doc/.vale/gitlab/spelling-exceptions.txt
+++ b/doc/.vale/gitlab/spelling-exceptions.txt
@@ -300,6 +300,7 @@ NGINX
Nokogiri
npm
Nurtch
+nyc
OAuth
offboarded
offboarding
diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md
index 4380152d79e..ee08ae47a8c 100644
--- a/doc/api/graphql/reference/index.md
+++ b/doc/api/graphql/reference/index.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
<!---
This documentation is auto generated by a script.
diff --git a/doc/development/application_secrets.md b/doc/development/application_secrets.md
index 06c2c8bf8b5..f2ed135838f 100644
--- a/doc/development/application_secrets.md
+++ b/doc/development/application_secrets.md
@@ -23,7 +23,7 @@ This page is a development guide for application secrets.
|Installation type |Location |
|--- |--- |
|Omnibus |[`/etc/gitlab/gitlab-secrets.json`](https://docs.gitlab.com/omnibus/settings/backups.html#backup-and-restore-omnibus-gitlab-configuration) |
-|Cloud Native GitLab Charts |[Kubernets Secrets](https://gitlab.com/gitlab-org/charts/gitlab/-/blob/f65c3d37fc8cf09a7987544680413552fb666aac/doc/installation/secrets.md#gitlab-rails-secret)|
+|Cloud Native GitLab Charts |[Kubernetes Secrets](https://gitlab.com/gitlab-org/charts/gitlab/-/blob/f65c3d37fc8cf09a7987544680413552fb666aac/doc/installation/secrets.md#gitlab-rails-secret)|
|Source |`<path-to-gitlab-rails>/config/secrets.yml` (Automatically generated by [01_secret_token.rb](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/initializers/01_secret_token.rb)) |
## Warning: Before you add a new secret to application secrets
diff --git a/doc/development/database/constraint_naming_convention.md b/doc/development/database/constraint_naming_convention.md
index 558f4cfa416..debf74d3b40 100644
--- a/doc/development/database/constraint_naming_convention.md
+++ b/doc/development/database/constraint_naming_convention.md
@@ -17,7 +17,7 @@ Please note that the intent is not to retroactively change names in existing dat
| **Foreign Key** | `fk_<table name>_<column name>[_and_<column name>]*_<foreign table name>` | | `fk_projects_group_id_groups` |
| **Index** | `index_<table name>_on_<column name>[_and_<column name>]*[_and_<column name in partial clause>]*` | | `index_repositories_on_group_id` |
| **Unique Constraint** | `unique_<table name>_<column name>[_and_<column name>]*` | | `unique_projects_group_id_and_name` |
-| **Check Constraint** | `check_<table name>_<column name>[_and_<column name>]*[_<suffix>]?` | The optional suffix should denote the type of validation, such as `length` and `enum`. It can also be used to desambiguate multiple `CHECK` constraints on the same column. | `check_projects_name_length`<br />`check_projects_type_enum`<br />`check_projects_admin1_id_and_admin2_id_differ` |
+| **Check Constraint** | `check_<table name>_<column name>[_and_<column name>]*[_<suffix>]?` | The optional suffix should denote the type of validation, such as `length` and `enum`. It can also be used to disambiguate multiple `CHECK` constraints on the same column. | `check_projects_name_length`<br />`check_projects_type_enum`<br />`check_projects_admin1_id_and_admin2_id_differ` |
| **Exclusion Constraint** | `excl_<table name>_<column name>[_and_<column name>]*_[_<suffix>]?` | The optional suffix should denote the type of exclusion being performed. | `excl_reservations_start_at_end_at_no_overlap` |
## Observations
diff --git a/doc/development/elasticsearch.md b/doc/development/elasticsearch.md
index 20dab4bf2be..bf7ab8096ad 100644
--- a/doc/development/elasticsearch.md
+++ b/doc/development/elasticsearch.md
@@ -119,7 +119,7 @@ Patterns:
- `'"((?:\\"|[^"]|\\")*)"'`: captures terms inside quotes, removing the quotes
- `"'((?:\\'|[^']|\\')*)'"`: same as above, for single-quotes
- `'\.([^.]+)(?=\.|\s|\Z)'`: separate terms with periods in-between
-- `'([\p{L}_.-]+)'`: some common chars in file names to keep the whole filename intact (eg. `my_file-ñame.txt`)
+- `'([\p{L}_.-]+)'`: some common chars in file names to keep the whole filename intact (for example `my_file-ñame.txt`)
- `'([\p{L}\d_]+)'`: letters, numbers and underscores are the most common tokens in programming. Always capture them greedily regardless of context.
## Gotchas
@@ -218,10 +218,10 @@ Any update to the Elastic index mappings should be replicated in [`Elastic::Late
### Migration options supported by the [`Elastic::MigrationWorker`](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/app/workers/elastic/migration_worker.rb)
-- `batched!` - Allow the migration to run in batches. If set, the [`Elastic::MigrationWorker`](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/app/workers/elastic/migration_worker.rb)
+- `batched!` - Allow the migration to run in batches. If set, the [`Elastic::MigrationWorker`](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/app/workers/elastic/migration_worker.rb)
will re-enqueue itself with a delay which is set using the `throttle_delay` option described below. The batching
-must be handled within the `migrate` method, this setting controls the re-enqueuing only.
-
+must be handled within the `migrate` method, this setting controls the re-enqueuing only.
+
- `throttle_delay` - Sets the wait time in between batch runs. This time should be set high enough to allow each migration batch
enough time to finish. Additionally, the time should be less than 30 minutes since that is how often the
[`Elastic::MigrationWorker`](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/app/workers/elastic/migration_worker.rb)
diff --git a/doc/development/fe_guide/editor_lite.md b/doc/development/fe_guide/editor_lite.md
index 0a64a16067b..03ff07f7ec8 100644
--- a/doc/development/fe_guide/editor_lite.md
+++ b/doc/development/fe_guide/editor_lite.md
@@ -58,7 +58,7 @@ The editor follows the same public API as [provided by Monaco editor](https://mi
| Function | Arguments | Description
| ----- | ----- | ----- |
| `updateModelLanguage` | `path`: String | Updates the instance's syntax highlighting to follow the extension of the passed `path`. Available only on _instance_ level|
-| `use` | Array of objects | Array of **extensions** to apply to the instance. Accepts only the array of _objects_, which means that the extensions' ES6 modules should be fetched and resolved in your views/components before being passed to `use`. This prop is available on _instance_ (applies extension to this particular instance) and _global edtor_ (applies the same extension to all instances) levels. |
+| `use` | Array of objects | Array of **extensions** to apply to the instance. Accepts only the array of _objects_, which means that the extensions' ES6 modules should be fetched and resolved in your views/components before being passed to `use`. This prop is available on _instance_ (applies extension to this particular instance) and _global editor_ (applies the same extension to all instances) levels. |
| Monaco Editor options | See [documentation](https://microsoft.github.io/monaco-editor/api/interfaces/monaco.editor.istandalonecodeeditor.html) | Default Monaco editor options |
## Tips
diff --git a/doc/development/fe_guide/style/scss.md b/doc/development/fe_guide/style/scss.md
index e04db609669..6b2b83e392a 100644
--- a/doc/development/fe_guide/style/scss.md
+++ b/doc/development/fe_guide/style/scss.md
@@ -79,10 +79,8 @@ CSS classes should use the `lowercase-hyphenated` format rather than
```
Class names should be used instead of tag name selectors.
-Using tag name selectors are discouraged in CSS because
-they can affect unintended elements in the hierarchy.
-Also, since they are not meaningful names, they do not
-add meaning to the code.
+Using tag name selectors is discouraged because they can affect
+unintended elements in the hierarchy.
```scss
// Bad
@@ -94,136 +92,23 @@ ul {
.class-name {
color: #fff;
}
-```
-
-### Formatting
-
-You should always use a space before a brace, braces should be on the same
-line, each property should each get its own line, and there should be a space
-between the property and its value.
-
-```scss
-// Bad
-.container-item {
- width: 100px; height: 100px;
- margin-top: 0;
-}
-
-// Bad
-.container-item
-{
- width: 100px;
- height: 100px;
- margin-top: 0;
-}
-
-// Bad
-.container-item{
- width:100px;
- height:100px;
- margin-top:0;
-}
-
-// Good
-.container-item {
- width: 100px;
- height: 100px;
- margin-top: 0;
-}
-```
-
-Note that there is an exception for single-line rulesets, although these are
-not typically recommended.
-
-```scss
-p { margin: 0; padding: 0; }
-```
-
-### Colors
-
-HEX (hexadecimal) colors should use shorthand where possible, and should use
-lower case letters to differentiate between letters and numbers, e.g. `#E3E3E3`
-vs. `#e3e3e3`.
-
-```scss
-// Bad
-p {
- color: #ffffff;
-}
-
-// Bad
-p {
- color: #FFFFFF;
-}
-
-// Good
-p {
- color: #fff;
-}
-```
-
-### Indentation
-
-Indentation should always use two spaces for each indentation level.
-
-```scss
-// Bad, four spaces
-p {
- color: #f00;
-}
-
-// Good
-p {
- color: #f00;
-}
-```
-
-### Semicolons
-
-Always include semicolons after every property. When the stylesheets are
-minified, the semicolons will be removed automatically.
-
-```scss
-// Bad
-.container-item {
- width: 100px;
- height: 100px
-}
-
-// Good
-.container-item {
- width: 100px;
- height: 100px;
-}
-```
-### Shorthand
+// Best
+// prefer an existing utility class over adding existing styles
+```0
-The shorthand form should be used for properties that support it.
+Class names are also preferable to IDs. Rules that use IDs
+are not-reusable, as there can only be one affected element on
+the page.
```scss
// Bad
-margin: 10px 15px 10px 15px;
-padding: 10px 10px 10px 10px;
-
-// Good
-margin: 10px 15px;
-padding: 10px;
-```
-
-### Zero Units
-
-Omit length units on zero values, they're unnecessary and not including them
-is slightly more performant.
-
-```scss
-// Bad
-.item-with-padding {
- padding: 0px;
+#my-element {
+ padding: 0;
}
// Good
-.item-with-padding {
+.my-element {
padding: 0;
}
```
@@ -234,27 +119,11 @@ Do not use any selector prefixed with `js-` for styling purposes. These
selectors are intended for use only with JavaScript to allow for removal or
renaming without breaking styling.
-### IDs
-
-Don't use ID selectors in CSS.
-
-```scss
-// Bad
-#my-element {
- padding: 0;
-}
-
-// Good
-.my-element {
- padding: 0;
-}
-```
-
### Variables
Before adding a new variable for a color or a size, guarantee:
-- There isn't already one
+- There isn't an existing one.
- There isn't a similar one we can use instead.
## Linting
@@ -279,22 +148,3 @@ CSSComb globally (system-wide). Run it in the GitLab directory with
`csscomb app/assets/stylesheets` to automatically fix issues with CSS/SCSS.
Note that this won't fix every problem, but it should fix a majority.
-
-### Ignoring issues
-
-If you want a line or set of lines to be ignored by the linter, you can use
-`// scss-lint:disable RuleName` ([more information](https://github.com/sds/scss-lint#disabling-linters-via-source)):
-
-```scss
-// This lint rule is disabled because it is supported only in Chrome/Safari
-// scss-lint:disable PropertySpelling
-body {
- text-decoration-skip: ink;
-}
-// scss-lint:enable PropertySpelling
-```
-
-Make sure a comment is added on the line above the `disable` rule, otherwise the
-linter will throw a warning. `DisableLinterReason` is enabled to make sure the
-style guide isn't being ignored, and to communicate to others why the style
-guide is ignored in this instance.
diff --git a/doc/development/internal_users.md b/doc/development/internal_users.md
index 9f1428dce80..35db2016e1c 100644
--- a/doc/development/internal_users.md
+++ b/doc/development/internal_users.md
@@ -11,7 +11,7 @@ info: "See the Technical Writers assigned to Development Guidelines: https://abo
GitLab uses internal users (sometimes referred to as "bots") to perform
actions or functions that cannot be attributed to a regular user.
-These users are created programatically throughout the codebase itself when
+These users are created programmatically throughout the codebase itself when
necessary, and do not count towards a license limit.
They are used when a traditional user account would not be applicable, for
diff --git a/doc/development/iterating_tables_in_batches.md b/doc/development/iterating_tables_in_batches.md
index 0e2d6539da1..45f76bfa2b0 100644
--- a/doc/development/iterating_tables_in_batches.md
+++ b/doc/development/iterating_tables_in_batches.md
@@ -172,7 +172,7 @@ In this particular example the database had to read 10 rows (regardless of our b
#### Improve filtering with `each_batch`
-##### Specialized conditinal index
+##### Specialized conditional index
```sql
CREATE INDEX index_on_users_never_logged_in ON users (id) WHERE sign_in_count = 0
@@ -230,7 +230,7 @@ CREATE INDEX index_on_users_never_logged_in ON users (sign_in_count)
Since `each_batch` builds range queries based on the `id` column, this index cannot be used efficiently. The DB reads the rows from the table or uses a bitmap search where the primary key index is also read.
-##### "Slow" iteraton
+##### "Slow" iteration
Slow iteration means that we use a good index configuration to iterate over the table and apply filtering on the yielded relation.
@@ -369,4 +369,4 @@ end
### `EachBatch` vs `BatchCount`
-When adding new counters for usage ping, the preferred way to count records is using the `Gitlab::Database::BatchCount` class. The iteration logic implemented in `BatchCount` has similar performance characterisics like `EachBatch`. Most of the tips and suggestions for improving `BatchCount` mentioned above applies to `BatchCount` as well.
+When adding new counters for usage ping, the preferred way to count records is using the `Gitlab::Database::BatchCount` class. The iteration logic implemented in `BatchCount` has similar performance characteristics like `EachBatch`. Most of the tips and suggestions for improving `BatchCount` mentioned above applies to `BatchCount` as well.
diff --git a/doc/development/new_fe_guide/modules/widget_extensions.md b/doc/development/new_fe_guide/modules/widget_extensions.md
index b2f87e89d57..ffcd736511a 100644
--- a/doc/development/new_fe_guide/modules/widget_extensions.md
+++ b/doc/development/new_fe_guide/modules/widget_extensions.md
@@ -17,7 +17,7 @@ into the widget that will match the existing design and interaction as other ext
To use extensions you need to first create a new extension object that will be used to fetch the
data that will be rendered in the extension. See the example file in
-app/assets/javascripts/vue_merge_request_widget/extensions/issues.js for a working example.
+`app/assets/javascripts/vue_merge_request_widget/extensions/issues.js` for a working example.
The basic object structure is as below:
diff --git a/doc/development/pipelines.md b/doc/development/pipelines.md
index bdd3a46fcb7..16625f20ea8 100644
--- a/doc/development/pipelines.md
+++ b/doc/development/pipelines.md
@@ -690,7 +690,7 @@ and included in `rules` definitions via [YAML anchors](../ci/yaml/README.md#anch
| `if-cache-credentials-schedule` | Limits jobs to scheduled pipelines with the `$CI_REPO_CACHE_CREDENTIALS` variable set. | |
| `if-rspec-fail-fast-disabled` | Limits jobs to pipelines with `$RSPEC_FAIL_FAST_ENABLED` variable not set to `"true"`. | |
| `if-rspec-fail-fast-skipped` | Matches if the pipeline is for a merge request and the MR title includes "SKIP RSPEC FAIL-FAST". | |
-| `if-security-pipeline-merge-result` | Matches if the pipeline is for a security merge request triggerred by `@gitlab-release-tools-bot`. | |
+| `if-security-pipeline-merge-result` | Matches if the pipeline is for a security merge request triggered by `@gitlab-release-tools-bot`. | |
<!-- vale gitlab.Substitutions = YES -->
#### `changes:` patterns
diff --git a/doc/development/testing_guide/frontend_testing.md b/doc/development/testing_guide/frontend_testing.md
index cc7222426a7..3bcec586be8 100644
--- a/doc/development/testing_guide/frontend_testing.md
+++ b/doc/development/testing_guide/frontend_testing.md
@@ -204,6 +204,7 @@ possible selectors include:
- A semantic attribute like `name` (also verifies that `name` was setup properly)
- A `data-testid` attribute ([recommended by maintainers of `@vue/test-utils`](https://github.com/vuejs/vue-test-utils/issues/1498#issuecomment-610133465))
+ optionally combined with [`findByTestId`](#extendedwrapper-and-findbytestid)
- a Vue `ref` (if using `@vue/test-utils`)
```javascript
@@ -220,9 +221,10 @@ it('exists', () => {
// Good (especially for unit tests)
wrapper.find(FooComponent);
wrapper.find('input[name=foo]');
- wrapper.find('[data-testid="foo"]');
+ wrapper.find('[data-testid="my-foo-id"]');
+ wrapper.findByTestId('my-foo-id'); // with the extendedWrapper utility – check below
wrapper.find({ ref: 'foo'});
-
+
// Bad
wrapper.find('.js-foo');
wrapper.find('.btn-primary');
@@ -231,6 +233,8 @@ it('exists', () => {
});
```
+It is recommended to use `kebab-case` for `data-testid` attribute.
+
It is not recommended that you add `.js-*` classes just for testing purposes. Only do this if there are no other feasible options available.
Do not use a `.qa-*` class or `data-qa-selector` attribute for any tests other than QA end-to-end testing.
@@ -1041,7 +1045,7 @@ testAction(
);
```
-Check an example in [`spec/javascripts/ide/stores/actions_spec.jsspec/javascripts/ide/stores/actions_spec.js`](https://gitlab.com/gitlab-org/gitlab/blob/master/spec/javascripts/ide/stores/actions_spec.js).
+Check an example in [`spec/frontend/ide/stores/actions_spec.js`](https://gitlab.com/gitlab-org/gitlab/-/blob/fdc7197609dfa7caeb1d962042a26248e49f27da/spec/frontend/ide/stores/actions_spec.js#L392).
### Wait until Axios requests finish
@@ -1053,6 +1057,29 @@ These are very useful if you don't have a handle to the request's Promise, for e
Both functions run `callback` on the next tick after the requests finish (using `setImmediate()`), to allow any `.then()` or `.catch()` handlers to run.
+### `extendedWrapper` and `findByTestId`
+
+Using `data-testid` is one of the [recommended ways to query DOM elements](#how-to-query-dom-elements).
+You can use the `extendedWrapper` utility on the `wrapper` returned by `shalowMount`/`mount`.
+By doing so, the `wrapper` provides you with the ability to perform a `findByTestId`,
+which is a shortcut to the more verbose `wrapper.find('[data-testid="my-test-id"]');`
+
+```javascript
+import { extendedWrapper } from 'jest/helpers/vue_test_utils_helper';
+
+describe('FooComponent', () => {
+ const wrapper = extendedWrapper(shallowMount({
+ template: `<div data-testid="my-test-id"></div>`,
+ }));
+
+ it('exists', () => {
+ expect(wrapper.findByTestId('my-test-id').exists()).toBe(true);
+ });
+});
+```
+
+Check an example in [`spec/frontend/alert_management/components/alert_details_spec.js`](https://gitlab.com/gitlab-org/gitlab/-/blob/ac1c9fa4c5b3b45f9566147b1c88fd1339cd7c25/spec/frontend/alert_management/components/alert_details_spec.js#L32).
+
## Testing with older browsers
Some regressions only affect a specific browser version. We can install and test in particular browsers with either Firefox or BrowserStack using the following steps:
diff --git a/doc/install/openshift_and_gitlab/index.md b/doc/install/openshift_and_gitlab/index.md
index fc157c89da9..fa1d4276d8c 100644
--- a/doc/install/openshift_and_gitlab/index.md
+++ b/doc/install/openshift_and_gitlab/index.md
@@ -32,7 +32,7 @@ This information is no longer up to date, as the current versions
have changed and products have been renamed.
OpenShift 3 is not yet deployed on RedHat's offered [Online platform](https://www.openshift.com/),
-so in order to test it, we will use an [all-in-one Virtualbox image](https://www.okd.io/minishift/) that is
+so in order to test it, we will use an [all-in-one VirtualBox image](https://www.okd.io/minishift/) that is
offered by the OpenShift developers and managed by Vagrant. If you haven't done
already, go ahead and install the following components as they are essential to
test OpenShift easily:
@@ -464,7 +464,7 @@ OpenShift's website about [autoscaling](https://docs.okd.io/3.11/dev_guide/pod_a
As stated in the [all-in-one VM](https://www.okd.io/minishift/) page:
> By default, OpenShift will not allow a container to run as root or even a
-non-random container assigned userid. Most Docker images in the Dockerhub do not
+non-random container assigned userid. Most Docker images in Docker Hub do not
follow this best practice and instead run as root.
The all-in-one VM we are using has this security turned off so it will not
diff --git a/doc/operations/incident_management/alerts.md b/doc/operations/incident_management/alerts.md
index aca4ef49aec..a8852a02f2b 100644
--- a/doc/operations/incident_management/alerts.md
+++ b/doc/operations/incident_management/alerts.md
@@ -78,7 +78,7 @@ amount of information you need.
### Alert details tab
-The **Alert details** tab has two sections. The top section provides a short list of critical details such as the severity, start time, number of events, and originating monitorting tool. The second section displays the full alert payload.
+The **Alert details** tab has two sections. The top section provides a short list of critical details such as the severity, start time, number of events, and originating monitoring tool. The second section displays the full alert payload.
### Metrics tab
diff --git a/doc/university/README.md b/doc/university/README.md
index ba337327609..c81e8341fa1 100644
--- a/doc/university/README.md
+++ b/doc/university/README.md
@@ -29,7 +29,7 @@ The GitLab University curriculum is composed of GitLab videos, screencasts, pres
### 1.1. Version Control and Git
1. [Version Control Systems](https://docs.google.com/presentation/d/16sX7hUrCZyOFbpvnrAFrg6tVO5_yT98IgdAqOmXwBho/edit#slide=id.g72f2e4906_2_29)
-1. [Katakoda: Learn Git Version Control using Interactive Browser-Based Scenarios](https://www.katacoda.com/courses/git)
+1. [Katacoda: Learn Git Version Control using Interactive Browser-Based Scenarios](https://www.katacoda.com/courses/git)
### 1.2. GitLab Basics
diff --git a/doc/user/group/value_stream_analytics/index.md b/doc/user/group/value_stream_analytics/index.md
index 88cce7fc62a..a2c7429ef1a 100644
--- a/doc/user/group/value_stream_analytics/index.md
+++ b/doc/user/group/value_stream_analytics/index.md
@@ -14,7 +14,7 @@ Value Stream Analytics measures the time spent to go from an
(also known as cycle time) for each of your projects or groups. Value Stream Analytics displays the median time
spent in each stage defined in the process.
-Value Stream Analytics can help you quickly dtermine the velocity of a given
+Value Stream Analytics can help you quickly determine the velocity of a given
group. It points to bottlenecks in the development process, enabling management
to uncover, triage, and identify the root cause of slowdowns in the software development life cycle.
diff --git a/doc/user/packages/conan_repository/index.md b/doc/user/packages/conan_repository/index.md
index f4005f1b304..73798d363af 100644
--- a/doc/user/packages/conan_repository/index.md
+++ b/doc/user/packages/conan_repository/index.md
@@ -51,7 +51,7 @@ compilers. This example uses the CMake compiler.
To install CMake:
-- For Mac, use [homebrew](https://brew.sh/) and run `brew install cmake`.
+- For Mac, use [Homebrew](https://brew.sh/) and run `brew install cmake`.
- For other operating systems, follow the instructions at [cmake.org](https://cmake.org/install/).
When installation is complete, verify you can use CMake in your terminal by
diff --git a/doc/user/packages/generic_packages/index.md b/doc/user/packages/generic_packages/index.md
index e934356e01d..c9859840c9c 100644
--- a/doc/user/packages/generic_packages/index.md
+++ b/doc/user/packages/generic_packages/index.md
@@ -39,7 +39,7 @@ PUT /projects/:id/packages/generic/:package_name/:package_version/:file_name
| -------------------| --------------- | ---------| -------------------------------------------------------------------------------------------------------------------------------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](../../../api/README.md#namespaced-path-encoding). |
| `package_name` | string | yes | The package name. It can contain only lowercase letters (`a-z`), uppercase letter (`A-Z`), numbers (`0-9`), dots (`.`), hyphens (`-`), or underscores (`_`).
-| `package_version` | string | yes | The package version. It can contain only numbers (`0-9`), and dots (`.`). Must be in the format of `X.Y.Z`, i.e. should match `/\A\d+\.\d+\.\d+\z/` regular expresion.
+| `package_version` | string | yes | The package version. It can contain only numbers (`0-9`), and dots (`.`). Must be in the format of `X.Y.Z`, i.e. should match `/\A\d+\.\d+\.\d+\z/` regular expression.
| `file_name` | string | yes | The file name. It can contain only lowercase letters (`a-z`), uppercase letter (`A-Z`), numbers (`0-9`), dots (`.`), hyphens (`-`), or underscores (`_`).
Provide the file context in the request body.
diff --git a/doc/user/packages/go_proxy/index.md b/doc/user/packages/go_proxy/index.md
index 77a6891986f..87cd4a4a9a6 100644
--- a/doc/user/packages/go_proxy/index.md
+++ b/doc/user/packages/go_proxy/index.md
@@ -159,7 +159,7 @@ later, can be written with `go env -w <var>=<value>`. For example,
Go modules and module versions are defined by source repositories, such as Git,
SVN, and Mercurial. A module is a repository that contains `go.mod` and Go
-files. Module versions are defined by VCS tags.
+files. Module versions are defined by version control system (VCS) tags.
To publish a module, push `go.mod` and source files to a VCS repository. To
publish a module version, push a VCS tag.
diff --git a/doc/user/project/code_owners.md b/doc/user/project/code_owners.md
index c02908f6b1f..d0e89400d88 100644
--- a/doc/user/project/code_owners.md
+++ b/doc/user/project/code_owners.md
@@ -112,7 +112,7 @@ in the `.gitignore` file followed by one or more of:
- A user's `@username`.
- A user's email address.
- The `@name` of one or more groups that should be owners of the file.
-- Lines starting with `#` are escaped.
+- Lines starting with `#` are ignored.
The order in which the paths are defined is significant: the last pattern that
matches a given path will be used to find the code owners.
diff --git a/doc/user/project/highlighting.md b/doc/user/project/highlighting.md
index 12f645f999e..1d92e32e071 100644
--- a/doc/user/project/highlighting.md
+++ b/doc/user/project/highlighting.md
@@ -28,7 +28,7 @@ The paths here are simply Git's built-in [`.gitattributes` interface](https://gi
/Nicefile gitlab-language=ruby
```
-To disable highlighting entirely, use `gitlab-language=text`. Lots more fun shenanigans are available through CGI options, such as:
+To disable highlighting entirely, use `gitlab-language=text`. Lots more fun shenanigans are available through common gateway interface (CGI) options, such as:
``` conf
# json with erb in it
diff --git a/doc/user/project/import/github.md b/doc/user/project/import/github.md
index 2c57edc8845..9a74638db0b 100644
--- a/doc/user/project/import/github.md
+++ b/doc/user/project/import/github.md
@@ -157,7 +157,7 @@ of the above are automatically configured. **(PREMIUM)**
## Improving the speed of imports on self-managed instances
NOTE:
-Admin access to the GitLab server is required.
+Administrator access to the GitLab server is required.
For large projects it may take a while to import all data. To reduce the time necessary, you can increase the number of
Sidekiq workers that process the following queues:
diff --git a/doc/user/project/import/index.md b/doc/user/project/import/index.md
index b38042416ab..754c3e31799 100644
--- a/doc/user/project/import/index.md
+++ b/doc/user/project/import/index.md
@@ -61,7 +61,7 @@ Docker pulls and pushes and re-run any CI pipelines to retrieve any build artifa
## Migrating from GitLab.com to self-managed GitLab
-The process is essentially the same as for [migrating from self-managed GitLab to GitLab.com](#migrating-from-self-managed-gitlab-to-gitlabcom). The main difference is that users can be created on the self-managed GitLab instance by an admin through the UI or the [users API](../../../api/users.md#user-creation).
+The process is essentially the same as for [migrating from self-managed GitLab to GitLab.com](#migrating-from-self-managed-gitlab-to-gitlabcom). The main difference is that users can be created on the self-managed GitLab instance by an administrator through the UI or the [users API](../../../api/users.md#user-creation).
## Migrating between two self-managed GitLab instances
@@ -73,4 +73,4 @@ then restore it on the new server.
In the event of merging two GitLab instances together (for example, both instances have existing data on them and one can't be wiped),
refer to the instructions in [Migrating from self-managed GitLab to GitLab.com](#migrating-from-self-managed-gitlab-to-gitlabcom).
-Additionally, you can migrate users using the [Users API](../../../api/users.md) with an admin user.
+Additionally, you can migrate users using the [Users API](../../../api/users.md) with an administrator user.
diff --git a/doc/user/project/import/perforce.md b/doc/user/project/import/perforce.md
index af1a1ac5154..85c8a3020b9 100644
--- a/doc/user/project/import/perforce.md
+++ b/doc/user/project/import/perforce.md
@@ -35,7 +35,7 @@ Git:
## Why migrate
-Perforce Helix can be difficult to manage both from a user and an admin
+Perforce Helix can be difficult to manage both from a user and an administrator
perspective. Migrating to Git/GitLab there is:
- **No licensing costs**, Git is GPL while Perforce Helix is proprietary.
diff --git a/doc/user/project/integrations/hipchat.md b/doc/user/project/integrations/hipchat.md
index b3acb89ff7e..7b90d8d7cfd 100644
--- a/doc/user/project/integrations/hipchat.md
+++ b/doc/user/project/integrations/hipchat.md
@@ -19,7 +19,7 @@ HipChat v1 API (legacy) supports "API Auth Tokens" in the Group API menu. A v1
token is allowed to send messages to *any* room.
HipChat v2 API has tokens that are can be created using the Integrations tab
-in the Group or Room admin page. By design, these are lightweight tokens that
+in the Group or Room administration page. By design, these are lightweight tokens that
allow GitLab to send messages only to *one* room.
### Complete these steps in HipChat
diff --git a/doc/user/project/integrations/mattermost.md b/doc/user/project/integrations/mattermost.md
index 8538199cacb..e80f672d05d 100644
--- a/doc/user/project/integrations/mattermost.md
+++ b/doc/user/project/integrations/mattermost.md
@@ -19,7 +19,7 @@ To enable Mattermost integration you must create an incoming webhook integration
1. Choose a display name, description and channel, those can be overridden on GitLab.
1. Save it and copy the **Webhook URL** because we need this later for GitLab.
-Incoming Webhooks might be blocked on your Mattermost instance. Ask your Mattermost admin
+Incoming Webhooks might be blocked on your Mattermost instance. Ask your Mattermost administrator
to enable it on:
- **Mattermost System Console > Integrations > Integration Management** in Mattermost
@@ -27,7 +27,7 @@ to enable it on:
- **Mattermost System Console > Integrations > Custom Integrations** in Mattermost
versions 5.11 and earlier.
-Display name override is not enabled by default, you need to ask your admin to enable it on that same section.
+Display name override is not enabled by default, you need to ask your administrator to enable it on that same section.
## On GitLab
diff --git a/doc/user/project/integrations/mattermost_slash_commands.md b/doc/user/project/integrations/mattermost_slash_commands.md
index 488293eb4b5..6c8a0ded2ae 100644
--- a/doc/user/project/integrations/mattermost_slash_commands.md
+++ b/doc/user/project/integrations/mattermost_slash_commands.md
@@ -43,7 +43,7 @@ preconfigured with the right settings.
The first thing to do in Mattermost is to enable custom slash commands from
the administrator console.
-1. Log in with an account that has admin privileges and navigate to the system
+1. Log in with an account that has administrator privileges and navigate to the system
console.
![Mattermost go to console](img/mattermost_goto_console.png)
diff --git a/doc/user/project/issues/design_management.md b/doc/user/project/issues/design_management.md
index 95dfbde1818..ba011f52749 100644
--- a/doc/user/project/issues/design_management.md
+++ b/doc/user/project/issues/design_management.md
@@ -37,7 +37,7 @@ to be enabled:
Design Management also requires that projects are using
[hashed storage](../../../administration/raketasks/storage.md#migrate-to-hashed-storage). Since
- GitLab 10.0, newly created projects use hashed storage by default. A GitLab admin can verify the storage type of a
+ GitLab 10.0, newly created projects use hashed storage by default. A GitLab administrator can verify the storage type of a
project by navigating to **Admin Area > Projects** and then selecting the project in question.
A project can be identified as hashed-stored if its *Gitaly relative path* contains `@hashed`.
diff --git a/doc/user/project/issues/managing_issues.md b/doc/user/project/issues/managing_issues.md
index 93b31fd9de5..95525561528 100644
--- a/doc/user/project/issues/managing_issues.md
+++ b/doc/user/project/issues/managing_issues.md
@@ -160,7 +160,7 @@ The "Move issue" button is at the bottom of the right-sidebar when viewing the i
If you have advanced technical skills you can also bulk move all the issues from one project to another in the rails console. The below script will move all the issues from one project to another that are not in status **closed**.
To access rails console run `sudo gitlab-rails console` on the GitLab server and run the below
-script. Please be sure to change **project**, **admin_user** and **target_project** to your values.
+script. Please be sure to change `project`, `admin_user`, and `target_project` to your values.
We do also recommend [creating a backup](../../../raketasks/backup_restore.md#back-up-gitlab) before
attempting any changes in the console.
diff --git a/doc/user/project/members/img/other_group_sees_shared_project.png b/doc/user/project/members/img/other_group_sees_shared_project.png
deleted file mode 100644
index e4c93a13abb..00000000000
--- a/doc/user/project/members/img/other_group_sees_shared_project.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/members/img/other_group_sees_shared_project_v13_6.png b/doc/user/project/members/img/other_group_sees_shared_project_v13_6.png
new file mode 100644
index 00000000000..e6e3f8f043b
--- /dev/null
+++ b/doc/user/project/members/img/other_group_sees_shared_project_v13_6.png
Binary files differ
diff --git a/doc/user/project/members/img/share_project_with_groups.png b/doc/user/project/members/img/share_project_with_groups.png
deleted file mode 100644
index 0907438cb84..00000000000
--- a/doc/user/project/members/img/share_project_with_groups.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/members/img/share_project_with_groups_tab.png b/doc/user/project/members/img/share_project_with_groups_tab.png
deleted file mode 100644
index fc489aae003..00000000000
--- a/doc/user/project/members/img/share_project_with_groups_tab.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/members/img/share_project_with_groups_tab_v13_6.png b/doc/user/project/members/img/share_project_with_groups_tab_v13_6.png
new file mode 100644
index 00000000000..7d83659ef7a
--- /dev/null
+++ b/doc/user/project/members/img/share_project_with_groups_tab_v13_6.png
Binary files differ
diff --git a/doc/user/project/members/img/share_project_with_groups_v13_6.png b/doc/user/project/members/img/share_project_with_groups_v13_6.png
new file mode 100644
index 00000000000..121e77671a3
--- /dev/null
+++ b/doc/user/project/members/img/share_project_with_groups_v13_6.png
Binary files differ
diff --git a/doc/user/project/members/share_project_with_groups.md b/doc/user/project/members/share_project_with_groups.md
index 7c9381b973d..edfe8ae3b5b 100644
--- a/doc/user/project/members/share_project_with_groups.md
+++ b/doc/user/project/members/share_project_with_groups.md
@@ -24,27 +24,28 @@ This is where the group sharing feature can be of use.
To share 'Project Acme' with the 'Engineering' group:
-1. For 'Project Acme' use the left navigation menu to go to **Members**
+1. For 'Project Acme' use the left navigation menu to go to **Members**.
- ![share project with groups](img/share_project_with_groups.png)
+ ![share project with groups](img/share_project_with_groups_tab_v13_6.png)
-1. Select the 'Share with group' tab
-1. Add the 'Engineering' group with the maximum access level of your choice
-1. Click **Share** to share it
+1. Select the **Invite group** tab.
+1. Add the 'Engineering' group with the maximum access level of your choice.
+1. Optionally, select an expiring date.
+1. Click **Invite**.
- ![share project with groups tab](img/share_project_with_groups_tab.png)
+ ![share project with groups tab](img/share_project_with_groups_tab_v13_6.png)
1. After sharing 'Project Acme' with 'Engineering', the project is listed
on the group dashboard
- !['Project Acme' is listed as a shared project for 'Engineering'](img/other_group_sees_shared_project.png)
+ !['Project Acme' is listed as a shared project for 'Engineering'](img/other_group_sees_shared_project_v13_6.png)
Note that you can only share a project with:
- groups for which you have an explicitly defined membership
- groups that contain a nested subgroup or project for which you have an explicitly defined role
-Admins are able to share projects with any group in the system.
+Administrators are able to share projects with any group in the system.
## Maximum access level
diff --git a/doc/user/project/merge_requests/csv_export.md b/doc/user/project/merge_requests/csv_export.md
index f9378719a5c..0de9f246ceb 100644
--- a/doc/user/project/merge_requests/csv_export.md
+++ b/doc/user/project/merge_requests/csv_export.md
@@ -18,7 +18,7 @@ The following table shows what attributes will be present in the CSV.
| Column | Description |
|--------------------|--------------------------------------------------------------|
-| MR ID | MR iid |
+| MR ID | MR `iid` |
| URL | A link to the merge request on GitLab |
| Title | Merge request title |
| State | Opened, Closed, Locked, or Merged |
diff --git a/doc/user/project/merge_requests/reviewing_and_managing_merge_requests.md b/doc/user/project/merge_requests/reviewing_and_managing_merge_requests.md
index 73217fa1969..51a84f515be 100644
--- a/doc/user/project/merge_requests/reviewing_and_managing_merge_requests.md
+++ b/doc/user/project/merge_requests/reviewing_and_managing_merge_requests.md
@@ -95,7 +95,7 @@ merge request:
1. Go to the merge request's **Changes** tab.
1. Click the cog icon (**{settings}**) to reveal the merge request's settings dropdown.
-1. Select or unselect the checkbox **Show one file at a time** to change the setting accordingly.
+1. Select or deselect the checkbox **Show one file at a time** to change the setting accordingly.
This change overrides the choice you made in your user preferences and persists until you clear your
browser's cookies or change this behavior again.
diff --git a/doc/user/project/merge_requests/test_coverage_visualization.md b/doc/user/project/merge_requests/test_coverage_visualization.md
index b6441ddad7d..c38b28f7718 100644
--- a/doc/user/project/merge_requests/test_coverage_visualization.md
+++ b/doc/user/project/merge_requests/test_coverage_visualization.md
@@ -60,7 +60,7 @@ the `filename` of a `class` element contains the full path relative to the proje
### JavaScript example
The following [`gitlab-ci.yml`](../../../ci/yaml/README.md) example uses [Mocha](https://mochajs.org/)
-JavaScript testing and [NYC](https://github.com/istanbuljs/nyc) coverage-tooling to
+JavaScript testing and [nyc](https://github.com/istanbuljs/nyc) coverage-tooling to
generate the coverage artifact:
```yaml
@@ -78,7 +78,7 @@ test:
#### Maven example
The following [`gitlab-ci.yml`](../../../ci/yaml/README.md) example for Java or Kotlin uses [Maven](https://maven.apache.org/)
-to build the project and [Jacoco](https://www.eclemma.org/jacoco/) coverage-tooling to
+to build the project and [JaCoCo](https://www.eclemma.org/jacoco/) coverage-tooling to
generate the coverage artifact.
You can check the [Docker image configuration and scripts](https://gitlab.com/haynes/jacoco2cobertura) if you want to build your own image.
@@ -118,7 +118,7 @@ coverage-jdk11:
#### Gradle example
The following [`gitlab-ci.yml`](../../../ci/yaml/README.md) example for Java or Kotlin uses [Gradle](https://gradle.org/)
-to build the project and [Jacoco](https://www.eclemma.org/jacoco/) coverage-tooling to
+to build the project and [JaCoCo](https://www.eclemma.org/jacoco/) coverage-tooling to
generate the coverage artifact.
You can check the [Docker image configuration and scripts](https://gitlab.com/haynes/jacoco2cobertura) if you want to build your own image.
diff --git a/doc/user/project/pages/custom_domains_ssl_tls_certification/dns_concepts.md b/doc/user/project/pages/custom_domains_ssl_tls_certification/dns_concepts.md
index be692d6733d..4aa89ec6f8d 100644
--- a/doc/user/project/pages/custom_domains_ssl_tls_certification/dns_concepts.md
+++ b/doc/user/project/pages/custom_domains_ssl_tls_certification/dns_concepts.md
@@ -23,7 +23,7 @@ GitLab Pages site.
Note that **how to** add DNS records depends on which server your domain
is hosted on. Every control panel has its own place to do it. If you are
-not an admin of your domain, and don't have access to your registrar,
+not an administrator of your domain, and don't have access to your registrar,
you'll need to ask for the technical support of your hosting service
to do it for you.
diff --git a/doc/user/project/pages/custom_domains_ssl_tls_certification/ssl_tls_concepts.md b/doc/user/project/pages/custom_domains_ssl_tls_certification/ssl_tls_concepts.md
index 65b82b66db7..dc73a664324 100644
--- a/doc/user/project/pages/custom_domains_ssl_tls_certification/ssl_tls_concepts.md
+++ b/doc/user/project/pages/custom_domains_ssl_tls_certification/ssl_tls_concepts.md
@@ -17,7 +17,7 @@ it secured by HTTPS, you will have to issue a certificate for that
(sub)domain and install it on your project.
NOTE:
-Certificates are NOT required to add to your custom
+Certificates are **not** required to add to your custom
(sub)domain on your GitLab Pages project, though they are
highly recommendable.
diff --git a/doc/user/project/pages/getting_started/pages_forked_sample_project.md b/doc/user/project/pages/getting_started/pages_forked_sample_project.md
index 031d941d8bd..525bbde4671 100644
--- a/doc/user/project/pages/getting_started/pages_forked_sample_project.md
+++ b/doc/user/project/pages/getting_started/pages_forked_sample_project.md
@@ -7,7 +7,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
# Create a Pages website from a forked sample
-GitLab provides [sample projects for the most popular Static Site Generators](https://gitlab.com/pages).
+GitLab provides [sample projects for the most popular Static Site Generators (SSG)](https://gitlab.com/pages).
You can fork one of the sample projects and run the CI/CD pipeline to generate a Pages website.
Fork a sample project when you want to test GitLab Pages or start a new project that's already
diff --git a/doc/user/project/pages/index.md b/doc/user/project/pages/index.md
index b54bb71eaca..5e123a7ec9e 100644
--- a/doc/user/project/pages/index.md
+++ b/doc/user/project/pages/index.md
@@ -85,7 +85,7 @@ scripts that GitLab CI/CD runs to accomplish this task is created from a file na
You can either use GitLab's [default domain for GitLab Pages websites](getting_started_part_one.md#gitlab-pages-default-domain-names),
`*.gitlab.io`, or your own domain (`example.com`). In that case, you'll
-need admin access to your domain's registrar (or control panel) to set it up with Pages.
+need administrator access to your domain's registrar (or control panel) to set it up with Pages.
The following diagrams show the workflows you might follow to get started with Pages.
@@ -103,7 +103,7 @@ To restrict access to your website, enable [GitLab Pages Access Control](pages_a
If you're using a self-managed instance (Core, Starter, Premium, or Ultimate),
your websites will be published on your own server, according to the
-[Pages admin settings](../../../administration/pages/index.md) chosen by your sysadmin,
+[Pages settings](../../../administration/pages/index.md) chosen by your sysadmin,
who can make them public or internal.
## Pages examples
diff --git a/doc/user/project/pages/lets_encrypt_for_gitlab_pages.md b/doc/user/project/pages/lets_encrypt_for_gitlab_pages.md
index 331f2840ad6..f2b75354bf8 100644
--- a/doc/user/project/pages/lets_encrypt_for_gitlab_pages.md
+++ b/doc/user/project/pages/lets_encrypt_for_gitlab_pages.md
@@ -13,7 +13,7 @@ This method is still valid but was **deprecated** in favor of the
introduced in GitLab 12.1.
If you have a GitLab Pages website served under your own domain,
-you might want to secure it with a SSL/TSL certificate.
+you might want to secure it with a SSL/TLS certificate.
[Let's Encrypt](https://letsencrypt.org) is a free, automated, and
open source Certificate Authority.
diff --git a/doc/user/project/protected_branches.md b/doc/user/project/protected_branches.md
index e101b8326e3..839f92b2e91 100644
--- a/doc/user/project/protected_branches.md
+++ b/doc/user/project/protected_branches.md
@@ -22,7 +22,7 @@ By default, a protected branch does four simple things:
- It prevents **anyone** from deleting the branch.
NOTE:
-A GitLab admin is allowed to push to the protected branches.
+A GitLab administrator is allowed to push to the protected branches.
See the [Changelog](#changelog) section for changes over time.
diff --git a/doc/user/project/repository/index.md b/doc/user/project/repository/index.md
index a4a837d99f4..14bdf437bb0 100644
--- a/doc/user/project/repository/index.md
+++ b/doc/user/project/repository/index.md
@@ -189,7 +189,7 @@ updated every 15 minutes at most, so may not reflect recent activity. The displa
The project size may differ slightly from one instance to another due to compression, housekeeping, and other factors.
-[Repository size limit](../../admin_area/settings/account_and_limit_settings.md) may be set by admins.
+[Repository size limit](../../admin_area/settings/account_and_limit_settings.md) may be set by administrators.
GitLab.com's repository size limit [is set by GitLab](../../gitlab_com/index.md#account-and-limit-settings).
## Contributors
diff --git a/doc/user/project/repository/reducing_the_repo_size_using_git.md b/doc/user/project/repository/reducing_the_repo_size_using_git.md
index 3dfb0ddec95..2092ff07d23 100644
--- a/doc/user/project/repository/reducing_the_repo_size_using_git.md
+++ b/doc/user/project/repository/reducing_the_repo_size_using_git.md
@@ -202,12 +202,6 @@ To purge files from GitLab storage:
## Repository cleanup
-NOTE:
-Safely cleaning the repository requires it to be made read-only for the duration
-of the operation. This happens automatically, but submitting the cleanup request
-fails if any writes are ongoing, so cancel any outstanding `git push`
-operations before continuing.
-
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/19376) in GitLab 11.6.
Repository cleanup allows you to upload a text file of objects and GitLab removes internal Git
@@ -215,6 +209,12 @@ references to these objects. You can use
[`git filter-repo`](https://github.com/newren/git-filter-repo) to produce a list of objects (in a
`commit-map` file) that can be used with repository cleanup.
+[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45058) in GitLab 13.6,
+safely cleaning the repository requires it to be made read-only for the duration
+of the operation. This happens automatically, but submitting the cleanup request
+fails if any writes are ongoing, so cancel any outstanding `git push`
+operations before continuing.
+
To clean up a repository:
1. Go to the project for the repository.
@@ -233,7 +233,7 @@ To clean up a repository:
This:
- Removes any internal Git references to old commits.
-- Runs `git gc` against the repository to remove unreferenced objects. Repacking your repository temporarily
+- Runs `git gc --prune=30.minutes.ago` against the repository to remove unreferenced objects. Repacking your repository temporarily
causes the size of your repository to increase significantly, because the old pack files are not removed until the
new pack files have been created.
- Unlinks any unused LFS objects currently attached to your project, freeing up storage space.
@@ -241,12 +241,17 @@ This:
GitLab sends an email notification with the recalculated repository size after the cleanup has completed.
+If the repository size does not decrease, this may be caused by loose objects
+being kept around because they were referenced in a Git operation that happened
+in the last 30 minutes. Try re-running these steps once the repository has been
+dormant for at least 30 minutes.
+
When using repository cleanup, note:
- Project statistics are cached. You may need to wait 5-10 minutes to see a reduction in storage utilization.
-- Housekeeping prunes loose objects older than 2 weeks. This means objects added in the last 2 weeks
+- The cleanup prunes loose objects older than 30 minutes. This means objects added or referenced in the last 30 minutes
are not be removed immediately. If you have access to the
- [Gitaly](../../../administration/gitaly/index.md) server, you may run `git gc --prune=now` to
+ [Gitaly](../../../administration/gitaly/index.md) server, you may slip that delay and run `git gc --prune=now` to
prune all loose objects immediately.
- This process removes some copies of the rewritten commits from GitLab's cache and database,
but there are still numerous gaps in coverage and some of the copies may persist indefinitely.
diff --git a/doc/user/project/repository/repository_mirroring.md b/doc/user/project/repository/repository_mirroring.md
index 35085ded7a7..8f7e1e514c7 100644
--- a/doc/user/project/repository/repository_mirroring.md
+++ b/doc/user/project/repository/repository_mirroring.md
@@ -137,7 +137,7 @@ The repository will push soon. To force a push, click the **Update now** (**{ret
AWS CodeCommit push mirroring is currently the best way to connect GitLab repositories to AWS CodePipeline, as GitLab is not yet supported as one of their Source Code Management (SCM) providers.
-Each new AWS Codepipeline needs significant AWS infrastructure setup. It also requires an individual pipeline per branch.
+Each new AWS CodePipeline needs significant AWS infrastructure setup. It also requires an individual pipeline per branch.
If AWS CodeDeploy is the final step of a CodePipeline, you can, instead, leverage GitLab CI/CD pipelines and simply use the AWS CLI in the final job in `.gitlab-ci.yml` to deploy to CodeDeploy.
diff --git a/doc/user/project/repository/web_editor.md b/doc/user/project/repository/web_editor.md
index 0114e4fa433..9f506b89415 100644
--- a/doc/user/project/repository/web_editor.md
+++ b/doc/user/project/repository/web_editor.md
@@ -32,7 +32,7 @@ When you are satisfied with your new file, click **Commit Changes** at the botto
### Shortcuts
You can use handy shortcuts when editing a file through the Web Editor, which are the same as
-the WEB IDE's. For details, see the documentation for [Command Palette](../web_ide/index.md#command-palette).
+the Web IDE's. For details, see the documentation for [Command Palette](../web_ide/index.md#command-palette).
### Template dropdowns
diff --git a/doc/user/project/settings/import_export.md b/doc/user/project/settings/import_export.md
index c389f572d18..ec4835b7e6a 100644
--- a/doc/user/project/settings/import_export.md
+++ b/doc/user/project/settings/import_export.md
@@ -42,7 +42,7 @@ Note the following:
- Exports are stored in a temporary [shared directory](../../../development/shared_files.md)
and are deleted every 24 hours by a specific worker.
- Group members are exported as project members, as long as the user has
- maintainer or admin access to the group where the exported project lives.
+ maintainer or administrator access to the group where the exported project lives.
- Project members with owner access will be imported as maintainers.
- Imported users can be mapped by their primary email on self-managed instances, if an administrative user (not an owner) does the import.
Otherwise, a supplementary comment is left to mention that the original author and
@@ -119,7 +119,7 @@ The following items will be exported:
- Pipelines history
- Push Rules
-The following items will NOT be exported:
+The following items will **not** be exported:
- Build traces and artifacts
- Container registry images
@@ -180,7 +180,7 @@ all imported projects are given the visibility of `Private`.
NOTE:
The maximum import file size can be set by the Administrator, default is 50MB.
-As an administrator, you can modify the maximum import file size. To do so, use the `max_import_size` option in the [Application settings API](../../../api/settings.md#change-application-settings) or the [Admin UI](../../admin_area/settings/account_and_limit_settings.md).
+As an administrator, you can modify the maximum import file size. To do so, use the `max_import_size` option in the [Application settings API](../../../api/settings.md#change-application-settings) or the [Admin Area UI](../../admin_area/settings/account_and_limit_settings.md).
### Project import status
diff --git a/doc/user/project/settings/index.md b/doc/user/project/settings/index.md
index 5eb77c48d9f..bb48712fee6 100644
--- a/doc/user/project/settings/index.md
+++ b/doc/user/project/settings/index.md
@@ -31,11 +31,11 @@ The project description also partially supports [standard Markdown](../../markdo
You can select a framework label to identify that your project has certain compliance requirements or needs additional oversight. Available labels include:
-- GDPR - General Data Protection Regulation
-- HIPAA - Health Insurance Portability and Accountability Act
-- PCI-DSS - Payment Card Industry-Data Security Standard
-- SOC 2 - Service Organization Control 2
-- SOX - Sarbanes-Oxley
+- GDPR (General Data Protection Regulation)
+- HIPAA (Health Insurance Portability and Accountability Act)
+- PCI-DSS (Payment Card Industry-Data Security Standard)
+- SOC 2 (Service Organization Control 2)
+- SOX (Sarbanes-Oxley)
NOTE:
Compliance framework labels do not affect your project settings.
diff --git a/doc/user/project/web_ide/index.md b/doc/user/project/web_ide/index.md
index 1e09dc5e8d7..16ca90003e6 100644
--- a/doc/user/project/web_ide/index.md
+++ b/doc/user/project/web_ide/index.md
@@ -262,8 +262,8 @@ quickly share your project with others.
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/268288) in GitLab 12.9, third-party assets and libraries required for Live Preview are hosted at `https://sandbox-prod.gitlab-static.net` when it is enabled. However, some libraries are still served from other third-party services which may or may not be desirable in your environment.
-The Live Preview feature needs to be enabled in the GitLab instances
-admin settings. Live Preview is enabled for all projects on
+The Live Preview feature needs to be enabled in the GitLab instance's
+Admin Area. Live Preview is enabled for all projects on
GitLab.com
![Administrator Live Preview setting](img/admin_live_preview_v13_0.png)
diff --git a/doc/user/project/wiki/index.md b/doc/user/project/wiki/index.md
index f203f60b3aa..64ee84128ec 100644
--- a/doc/user/project/wiki/index.md
+++ b/doc/user/project/wiki/index.md
@@ -226,4 +226,4 @@ Example for `_sidebar` (using Markdown format):
- [Sidebar](_sidebar)
```
-Support for displaying a generated TOC with a custom side navigation is planned.
+Support for displaying a generated table of contents with a custom side navigation is planned.