diff options
Diffstat (limited to 'doc/user/project/merge_requests')
25 files changed, 228 insertions, 135 deletions
diff --git a/doc/user/project/merge_requests/approvals/index.md b/doc/user/project/merge_requests/approvals/index.md index 40345f33cb2..47744edd5ce 100644 --- a/doc/user/project/merge_requests/approvals/index.md +++ b/doc/user/project/merge_requests/approvals/index.md @@ -42,17 +42,12 @@ rules to define what types of users can approve work. Some examples of rules you - Users with specific permissions can be allowed or denied the ability to [override approval rules on a specific merge request](rules.md#edit-or-override-merge-request-approval-rules). -You can also configure additional [settings for merge request approvals](settings.md) -for more control of the level of oversight and security your project needs, including: +You can also configure: -- [Prevent users from overriding a merge request approval rule.](settings.md#prevent-overrides-of-default-approvals) -- [Reset approvals when new code is pushed.](settings.md#reset-approvals-on-push) -- Allow (or disallow) [authors and committers](settings.md) to approve their own merge requests. -- [Require password authentication when approving.](settings.md#require-authentication-for-approvals) -- [Require security team approval.](settings.md#security-approvals-in-merge-requests) - -You can configure your merge request approval rules and settings through the GitLab -user interface or with the [Merge request approvals API](../../../../api/merge_request_approvals.md). +- Additional [settings for merge request approvals](settings.md) for more control of the + level of oversight and security your project needs. +- Merge request approval rules and settings through the GitLab UI or with the + [Merge request approvals API](../../../../api/merge_request_approvals.md). ## Approve a merge request @@ -74,10 +69,10 @@ such as merge conflicts, [pending discussions](../../../discussions/index.md#pre or a [failed CI/CD pipeline](../merge_when_pipeline_succeeds.md). To prevent merge request authors from approving their own merge requests, -enable [**Prevent author approval**](settings.md#prevent-authors-from-approving-their-own-work) +enable [**Prevent author approval**](settings.md#prevent-approval-by-author) in your project's settings. -If you enable [approval rule overrides](settings.md#prevent-overrides-of-default-approvals), +If you enable [approval rule overrides](settings.md#prevent-editing-approval-rules-in-merge-requests), merge requests created before a change to default approval rules are not affected. The only exceptions are changes to the [target branch](rules.md#approvals-for-protected-branches) of the rule. @@ -121,6 +116,6 @@ important to describe those, too. Think of things that may go wrong and include This is important to minimize requests for support, and to avoid doc comments with questions that you know someone might ask. -Each scenario can be a third-level heading, e.g. `### Getting error message X`. +Each scenario can be a third-level heading, for example, `### Getting error message X`. If you have none to add when creating a doc, leave this section in place but commented out to help encourage others to add to it in the future. --> diff --git a/doc/user/project/merge_requests/approvals/rules.md b/doc/user/project/merge_requests/approvals/rules.md index 82685f9101e..7e168fb239a 100644 --- a/doc/user/project/merge_requests/approvals/rules.md +++ b/doc/user/project/merge_requests/approvals/rules.md @@ -49,7 +49,7 @@ Users of GitLab Premium and higher tiers can create [additional approval rules]( Your configuration for approval rule overrides determines if the new rule is applied to existing merge requests: -- If [approval rule overrides](settings.md#prevent-overrides-of-default-approvals) are allowed, +- If [approval rule overrides](settings.md#prevent-editing-approval-rules-in-merge-requests) are allowed, changes to these default rules are not applied to existing merge requests, except for changes to the [target branch](#approvals-for-protected-branches) of the rule. - If approval rule overrides are not allowed, all changes to default rules @@ -138,10 +138,10 @@ approve in these ways: counts as one approver, and not two. - Merge request authors do not count as eligible approvers on their own merge requests by default. To change this behavior, disable the - [**Prevent author approval**](settings.md#prevent-authors-from-approving-their-own-work) + [**Prevent author approval**](settings.md#prevent-approval-by-author) project setting. - Committers to merge requests can approve a merge request. To change this behavior, enable the - [**Prevent committers approval**](settings.md#prevent-committers-from-approving-their-own-work) + [**Prevent committers approval**](settings.md#prevent-approvals-by-users-who-add-commits) project setting. ### Code owners as eligible approvers **(PREMIUM)** @@ -201,7 +201,7 @@ on a merge request, you can either add or remove approvers: 1. Add or remove your desired approval rules. 1. Select **Save changes**. -Administrators can change the [merge request approvals settings](settings.md#prevent-overrides-of-default-approvals) +Administrators can change the [merge request approvals settings](settings.md#prevent-editing-approval-rules-in-merge-requests) to prevent users from overriding approval rules for merge requests. ## Configure optional approval rules **(PREMIUM)** diff --git a/doc/user/project/merge_requests/approvals/settings.md b/doc/user/project/merge_requests/approvals/settings.md index 8a81ff8c94b..ebd07f30f52 100644 --- a/doc/user/project/merge_requests/approvals/settings.md +++ b/doc/user/project/merge_requests/approvals/settings.md @@ -20,37 +20,17 @@ To view or edit merge request approval settings: 1. Go to your project and select **Settings > General**. 1. Expand **Merge request (MR) approvals**. -In this section of general settings, you can configure the settings described -on this page. +In this section of general settings, you can configure the following settings: -## Prevent overrides of default approvals +| Setting | Description | +| ------ | ------ | +| [Prevent approval by author](#prevent-approval-by-author) | When enabled, the author of a merge request cannot approve it. | +| [Prevent approvals by users who add commits](#prevent-approvals-by-users-who-add-commits) | When enabled, users who have committed to a merge request cannot approve it. | +| [Prevent editing approval rules in merge requests](#prevent-editing-approval-rules-in-merge-requests) | When enabled, users can't override the project's approval rules on merge requests. | +| [Require user password to approve](#require-user-password-to-approve) | Force potential approvers to first authenticate with a password. | +| [Remove all approvals when commits are added to the source branch](#remove-all-approvals-when-commits-are-added-to-the-source-branch) | When enabled, remove all existing approvals on a merge request when more changes are added to it. | -By default, users can override the approval rules you [create for a project](rules.md) -on a per-merge request basis. If you don't want users to change approval rules -on merge requests, you can disable this setting: - -1. Go to your project and select **Settings > General**. -1. Expand **Merge request (MR) approvals**. -1. Select the **Prevent users from modifying MR approval rules in merge requests** checkbox. -1. Select **Save changes**. - -This change affects all open merge requests. - -## Reset approvals on push - -By default, an approval on a merge request remains in place, even if you add more changes -after the approval. If you want to remove all existing approvals on a merge request -when more changes are added to it: - -1. Go to your project and select **Settings > General**. -1. Expand **Merge request (MR) approvals**. -1. Select the **Require new approvals when new commits are added to an MR** checkbox. -1. Select **Save changes**. - -Approvals aren't reset when a merge request is [rebased from the UI](../fast_forward_merge.md) -However, approvals are reset if the target branch is changed. - -## Prevent authors from approving their own work **(PREMIUM)** +## Prevent approval by author **(PREMIUM)** > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/3349) in GitLab 11.3. > - Moved to GitLab Premium in 13.9. @@ -65,14 +45,14 @@ By default, the author of a merge request cannot approve it. To change this sett Authors can edit the approval rule in an individual merge request and override this setting, unless you configure one of these options: -- [Prevent overrides of default approvals](#prevent-overrides-of-default-approvals) at +- [Prevent overrides of default approvals](#prevent-editing-approval-rules-in-merge-requests) at the project level. - *(Self-managed instances only)* Prevent overrides of default approvals [at the instance level](../../../admin_area/merge_requests_approvals.md). When configured at the instance level, you can't edit this setting at the project or individual merge request levels. -## Prevent committers from approving their own work **(PREMIUM)** +## Prevent approvals by users who add commits **(PREMIUM)** > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/10441) in GitLab 11.10. > - Moved to GitLab Premium in 13.9. @@ -96,7 +76,20 @@ to a merge request can approve merge requests that affect files they own. To learn more about the [differences between authors and committers](https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History), read the official Git documentation for an explanation. -## Require authentication for approvals +## Prevent editing approval rules in merge requests + +By default, users can override the approval rules you [create for a project](rules.md) +on a per-merge request basis. If you don't want users to change approval rules +on merge requests, you can disable this setting: + +1. Go to your project and select **Settings > General**. +1. Expand **Merge request (MR) approvals**. +1. Select the **Prevent users from modifying MR approval rules in merge requests** checkbox. +1. Select **Save changes**. + +This change affects all open merge requests. + +## Require user password to approve > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/5981) in GitLab 12.0. > - Moved to GitLab Premium in 13.9. @@ -112,6 +105,20 @@ permission enables an electronic signature for approvals, such as the one define 1. Select the **Require user password for approvals** checkbox. 1. Select **Save changes**. +## Remove all approvals when commits are added to the source branch + +By default, an approval on a merge request remains in place, even if you add more changes +after the approval. If you want to remove all existing approvals on a merge request +when more changes are added to it: + +1. Go to your project and select **Settings > General**. +1. Expand **Merge request (MR) approvals**. +1. Select the **Require new approvals when new commits are added to an MR** checkbox. +1. Select **Save changes**. + +Approvals aren't reset when a merge request is [rebased from the UI](../fast_forward_merge.md) +However, approvals are reset if the target branch is changed. + ## Security approvals in merge requests **(ULTIMATE)** You can require that a member of your security team approves a merge request if a @@ -129,5 +136,5 @@ To learn more, see [Coverage check approval rule](../../../../ci/pipelines/setti ## Related links - [Instance-level merge request approval settings](../../../admin_area/merge_requests_approvals.md) -- [Compliance Dashboard](../../../compliance/compliance_dashboard/index.md) +- [Compliance report](../../../compliance/compliance_report/index.md) - [Merge request approvals API](../../../../api/merge_request_approvals.md) diff --git a/doc/user/project/merge_requests/changes.md b/doc/user/project/merge_requests/changes.md index e594f8048e3..c59d5973e21 100644 --- a/doc/user/project/merge_requests/changes.md +++ b/doc/user/project/merge_requests/changes.md @@ -85,11 +85,15 @@ entire content by selecting **Show file contents**. ## Ignore whitespace changes in Merge Request diff view -If you select the **Hide whitespace changes** button, you can see the diff -without whitespace changes (if there are any). This is also working when on a -specific commit page. +Whitespace changes can make it more difficult to see the substantive changes in +a merge request. You can choose to hide or show whitespace changes: -![MR diff](img/merge_request_diff.png) +1. Go to your merge request, and select the **Changes** tab. +1. Above the list of changed files, select **(settings)** **Preferences** to + display the preferences menu. +1. Select or deselect **Show whitespace changes**: + + ![MR diff](img/merge_request_diff_v14_2.png) ## Mark files as viewed @@ -140,7 +144,7 @@ Feature.disable(:local_file_reviews) > - To use in GitLab self-managed instances, ask a GitLab administrator to [enable it](#enable-or-disable-merge-request-conflicts-in-diff). **(FREE SELF)** This in-development feature might not be available for your use. There can be -[risks when enabling features still in development](../../feature_flags.md#risks-when-enabling-features-still-in-development). +[risks when enabling features still in development](../../../administration/feature_flags.md#risks-when-enabling-features-still-in-development). Refer to this feature's version history for more details. To avoid displaying the changes that are already on target branch in the diff, diff --git a/doc/user/project/merge_requests/cherry_pick_changes.md b/doc/user/project/merge_requests/cherry_pick_changes.md index 710638128f3..a0c3efe7143 100644 --- a/doc/user/project/merge_requests/cherry_pick_changes.md +++ b/doc/user/project/merge_requests/cherry_pick_changes.md @@ -37,7 +37,8 @@ request thread. It crosslinks the new commit and the existing merge request. Each deployment's [list of associated merge requests](../../../api/deployments.md#list-of-merge-requests-associated-with-a-deployment) includes cherry-picked merge commits. NOTE: -We only track cherry-pick executed from GitLab (both UI and API). Support for [tracking cherry-picked commits through the command line](https://gitlab.com/gitlab-org/gitlab/-/issues/202215) is planned for a future release. +We only track cherry-pick executed from GitLab (both UI and API). Support for tracking cherry-picked commits through the command line +is tracked [in this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/202215). ## Cherry-picking a commit @@ -62,8 +63,8 @@ git cherry-pick -m 2 7a39eb0 ### Cherry-pick into a project -> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/21268) in GitLab 13.11. -> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/324154) in GitLab 14.0 +> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/21268) in GitLab 13.11 behind a [feature flag](../../feature_flags.md), disabled by default. +> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/324154) in GitLab 14.0. WARNING: This feature might not be available to you. Check the **version history** note above for details. diff --git a/doc/user/project/merge_requests/code_quality.md b/doc/user/project/merge_requests/code_quality.md index 19302572dc9..6337fb1e87b 100644 --- a/doc/user/project/merge_requests/code_quality.md +++ b/doc/user/project/merge_requests/code_quality.md @@ -65,7 +65,7 @@ See also the Code Climate list of [Supported Languages for Maintainability](http Changes to files in merge requests can cause Code Quality to fall if merged. In these cases, the merge request's diff view displays an indicator next to lines with new Code Quality violations. For example: -![Code Quality MR diff report](img/code_quality_mr_diff_report_v14.png) +![Code Quality MR diff report](img/code_quality_mr_diff_report_v14_2.png) ## Example configuration @@ -296,6 +296,40 @@ code_quality: - if: '$CI_COMMIT_TAG' # Run code quality job in pipelines for tags ``` +### Configure Code Quality to use a private container image registry + +> [Introduced](https://gitlab.com/gitlab-org/ci-cd/codequality/-/merge_requests/30) in 13.7. + +To reduce network time and external dependency, you can use your own +container image registry to host the Code Quality Docker images. Because of +the nested architecture of container execution, the registry prefix must +be specifically configured to be passed down into CodeClimate's subsequent +`docker pull` commands for individual engines. + +The following two variables can address all of the required image pulls: + +- `CODE_QUALITY_IMAGE`: A fully prefixed image name that can be located anywhere + accessible from your job environment. GitLab Container Registry can be used here + to host your own copy. +- `CODECLIMATE_PREFIX`: The domain of your intended container image registry. This + is a configuration option supported by [CodeClimate CLI](https://github.com/codeclimate/codeclimate/pull/948). You must: + - Include a trailing slash (`/`). + - Not include a protocol prefix, such as `https://`. + +```yaml +include: + - template: Jobs/Code-Quality.gitlab-ci.yml + +code_quality: + variables: + CODE_QUALITY_IMAGE: "my-private-registry.local:12345/codequality:0.85.24" + CODECLIMATE_PREFIX: "my-private-registry.local:12345/" +``` + +This example is specific to GitLab Code Quality. For more general +instructions on how to configure DinD with a registry mirror, see the +relevant [documentation](../../../ci/docker/using_docker_build.md#enable-registry-mirror-for-dockerdind-service). + ## Configuring jobs using variables The Code Quality job supports environment variables that users can set to @@ -511,7 +545,7 @@ This can be due to multiple reasons: - You just added the Code Quality job in your `.gitlab-ci.yml`. The report does not have anything to compare to yet, so no information can be displayed. It only displays after future merge requests have something to compare to. -- Your pipeline is not set to run the code quality job on your target branch. If there is no report generated from the target branch, your MR branch reports have nothing to compare to. +- Your pipeline is not set to run the code quality job on your target branch. If there is no report generated from the target branch, your MR branch reports have nothing to compare to. In this situation you will see an error stating `Base pipeline codequality artifact not found`. - If no [degradation or error is detected](https://docs.codeclimate.com/docs/maintainability#section-checks), nothing is displayed. - The [`artifacts:expire_in`](../../../ci/yaml/index.md#artifactsexpire_in) CI/CD diff --git a/doc/user/project/merge_requests/commits.md b/doc/user/project/merge_requests/commits.md index fb1b7f8b9b6..3d3032bb193 100644 --- a/doc/user/project/merge_requests/commits.md +++ b/doc/user/project/merge_requests/commits.md @@ -42,7 +42,7 @@ Previously merged commits can be added, but they can't be removed due to [this bug](https://gitlab.com/gitlab-org/gitlab/-/issues/325538). This in-development feature might not be available for your use. There can be -[risks when enabling features still in development](../../feature_flags.md#risks-when-enabling-features-still-in-development). +[risks when enabling features still in development](../../../administration/feature_flags.md#risks-when-enabling-features-still-in-development). Refer to this feature's version history for more details. When reviewing a merge request, it helps to have more context about the changes diff --git a/doc/user/project/merge_requests/confidential.md b/doc/user/project/merge_requests/confidential.md new file mode 100644 index 00000000000..6df84dd1dd1 --- /dev/null +++ b/doc/user/project/merge_requests/confidential.md @@ -0,0 +1,75 @@ +--- +stage: Create +group: Code Review +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/#assignments +--- + +# Merge requests for confidential issues + +> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/58583) in GitLab 12.1. + +Merge requests in a public repository are also public, even when the merge +request is created for a [confidential issue](../issues/confidential_issues.md). +To avoid leaking confidential information when working on a confidential issue, +create your merge request from a private fork. + +Roles are inherited from parent groups. If you create your private fork in the +same group or subgroup as the original (public) repository, developers receive +the same permissions in your fork. This inheritance ensures: + +- Developer users have the needed permissions to view confidential issues and resolve them. +- You do not need grant individual users access to your fork. + +The [security practices for confidential merge requests](https://gitlab.com/gitlab-org/release/docs/blob/master/general/security/developer.md#security-releases-critical-non-critical-as-a-developer) at GitLab are available to read. + +## Create a confidential merge request + +WARNING: +To create a confidential merge request, you must create a private fork. This fork +may expose confidential information, if you create your fork in another namespace +that may have other members. + +Branches are public by default. To protect the confidentiality of your work, you +must create your changes in a private fork. + +Prerequisites: + +- You have the Owner or Maintainer role in the public repository, as you need one + of these roles to [create a subgroup](../../group/subgroups/index.md). +- You have [forked](../repository/forking_workflow.md) the public repository. +- Your fork has a **Visibility level** of _Private_. + +To create a confidential merge request: + +1. Go to the confidential issue's page. Scroll below the issue description and + select **Create confidential merge request**. +1. Select the item that meets your needs: + - *To create both a branch and a merge request,* select + **Create confidential merge request and branch**. Your merge request will + target the default branch of your fork, *not* the default branch of the + public upstream project. + - *To create only a branch,* select **Create branch**. +1. Select a **Project** to use. These projects have merge requests enabled, and + you have the Developer role (or greater) in them. +1. Provide a **Branch name**, and select a **Source (branch or tag)**. GitLab + checks whether these branches are available in your private fork, because both + branches must be available in your selected fork. +1. Select **Create**. + +If you created a branch in your private fork, users with the Developer role in the +public repository can push code to that branch in your private fork to fix the +confidential issue. + +As your merge request targets your private fork, not the public upstream project, +your branch, merge request, and commits do not enter the public repository. This +prevents prematurely revealing confidential information. + +To make a confidential commit public, open a merge request from the private fork +to the public upstream project. + +## Related links + +- [Confidential issues](../issues/confidential_issues.md) +- [Make an epic confidential](../../group/epics/manage_epics.md#make-an-epic-confidential) +- [Mark a comment as confidential](../../discussions/index.md#mark-a-comment-as-confidential) +- [Security practices for confidential merge requests](https://gitlab.com/gitlab-org/release/docs/blob/master/general/security/developer.md#security-releases-critical-non-critical-as-a-developer) at GitLab diff --git a/doc/user/project/merge_requests/creating_merge_requests.md b/doc/user/project/merge_requests/creating_merge_requests.md index 0d56fbc89b8..918f9830edc 100644 --- a/doc/user/project/merge_requests/creating_merge_requests.md +++ b/doc/user/project/merge_requests/creating_merge_requests.md @@ -105,7 +105,7 @@ fork from its upstream project. Go to **Settings > Advanced Settings** and For more information, [see the forking workflow documentation](../repository/forking_workflow.md). -## By sending an email **(FREE SELF)** +## By sending an email > The format of the generated email address changed in GitLab 11.7. The earlier format is still supported so existing aliases diff --git a/doc/user/project/merge_requests/csv_export.md b/doc/user/project/merge_requests/csv_export.md index 5556e54f875..6dbbab316a0 100644 --- a/doc/user/project/merge_requests/csv_export.md +++ b/doc/user/project/merge_requests/csv_export.md @@ -36,8 +36,8 @@ The following table shows what attributes will be present in the CSV. | Merged User | Full name of the merged user | | Merged Username | Username of the merge user, with the @ symbol omitted | | Milestone ID | ID of the merge request milestone | -| Created At (UTC) | Formatted as YYYY-MM-DD HH:MM:SS | -| Updated At (UTC) | Formatted as YYYY-MM-DD HH:MM:SS | +| Created At (UTC) | Formatted as `YYYY-MM-DD HH:MM:SS` | +| Updated At (UTC) | Formatted as `YYYY-MM-DD HH:MM:SS` | ## Limitations diff --git a/doc/user/project/merge_requests/fail_fast_testing.md b/doc/user/project/merge_requests/fail_fast_testing.md index 15ab2d9c8e2..6d8a128c39f 100644 --- a/doc/user/project/merge_requests/fail_fast_testing.md +++ b/doc/user/project/merge_requests/fail_fast_testing.md @@ -19,7 +19,7 @@ that it believes to be relevant to the input files. `tff` is designed for Ruby on Rails projects, so the `Verify/FailFast` template is configured to run when changes to Ruby files are detected. By default, it runs in -the [`.pre` stage](../../../ci/yaml/index.md#pre-and-post) of a GitLab CI/CD pipeline, +the [`.pre` stage](../../../ci/yaml/index.md#stage-pre) of a GitLab CI/CD pipeline, before all other stages. ## Example use case diff --git a/doc/user/project/merge_requests/getting_started.md b/doc/user/project/merge_requests/getting_started.md index ce39f39f0a1..46fc3ec141d 100644 --- a/doc/user/project/merge_requests/getting_started.md +++ b/doc/user/project/merge_requests/getting_started.md @@ -129,7 +129,7 @@ To request a review of a merge request, expand the **Reviewers** select box in the right-hand sidebar. Search for the users you want to request a review from. When selected, GitLab creates a [to-do list item](../../todos.md) for each reviewer. -To learn more, read [Review and manage merge requests](reviews/index.md). +To learn more, read [Review a merge request](reviews/index.md). ### Merge requests to close issues @@ -140,7 +140,7 @@ when merged. If the issue is [confidential](../issues/confidential_issues.md), you may want to use a different workflow for -[merge requests for confidential issues](../issues/confidential_issues.md#merge-requests-for-confidential-issues) +[merge requests for confidential issues](confidential.md) to prevent confidential information from being exposed. ### Deleting the source branch diff --git a/doc/user/project/merge_requests/img/checkout_button.png b/doc/user/project/merge_requests/img/checkout_button.png Binary files differdeleted file mode 100644 index 9850795c9b4..00000000000 --- a/doc/user/project/merge_requests/img/checkout_button.png +++ /dev/null diff --git a/doc/user/project/merge_requests/img/code_quality_mr_diff_report_v13_11.png b/doc/user/project/merge_requests/img/code_quality_mr_diff_report_v13_11.png Binary files differdeleted file mode 100644 index 0fcdc252735..00000000000 --- a/doc/user/project/merge_requests/img/code_quality_mr_diff_report_v13_11.png +++ /dev/null diff --git a/doc/user/project/merge_requests/img/code_quality_mr_diff_report_v14.png b/doc/user/project/merge_requests/img/code_quality_mr_diff_report_v14.png Binary files differdeleted file mode 100644 index da7d4115bd9..00000000000 --- a/doc/user/project/merge_requests/img/code_quality_mr_diff_report_v14.png +++ /dev/null diff --git a/doc/user/project/merge_requests/img/code_quality_mr_diff_report_v14_2.png b/doc/user/project/merge_requests/img/code_quality_mr_diff_report_v14_2.png Binary files differnew file mode 100644 index 00000000000..c1e9aad24ac --- /dev/null +++ b/doc/user/project/merge_requests/img/code_quality_mr_diff_report_v14_2.png diff --git a/doc/user/project/merge_requests/img/merge_request_diff.png b/doc/user/project/merge_requests/img/merge_request_diff.png Binary files differdeleted file mode 100644 index 9c5488cb207..00000000000 --- a/doc/user/project/merge_requests/img/merge_request_diff.png +++ /dev/null diff --git a/doc/user/project/merge_requests/img/merge_request_diff_v14_2.png b/doc/user/project/merge_requests/img/merge_request_diff_v14_2.png Binary files differnew file mode 100644 index 00000000000..de534f17bf1 --- /dev/null +++ b/doc/user/project/merge_requests/img/merge_request_diff_v14_2.png diff --git a/doc/user/project/merge_requests/index.md b/doc/user/project/merge_requests/index.md index fa90cf524ec..6c2f07d7012 100644 --- a/doc/user/project/merge_requests/index.md +++ b/doc/user/project/merge_requests/index.md @@ -119,7 +119,7 @@ For a software developer working in a team: 1. Pushes a commit with their final review. 1. [Approves the merge request](approvals/index.md). 1. Sets it to [merge when pipeline succeeds](merge_when_pipeline_succeeds.md). -1. Your changes get deployed to production with [manual actions](../../../ci/yaml/index.md#whenmanual) for GitLab CI/CD. +1. Your changes get deployed to production with [manual jobs](../../../ci/jobs/job_control.md#create-a-job-that-must-be-run-manually) for GitLab CI/CD. 1. Your implementations were successfully shipped to your customer. For a web developer writing a webpage for your company's website: @@ -135,6 +135,6 @@ For a web developer writing a webpage for your company's website: ## Related topics - [Create a merge request](creating_merge_requests.md) -- [Review and manage merge requests](reviews/index.md) +- [Review a merge request](reviews/index.md) - [Authorization for merge requests](authorization_for_merge_requests.md) - [Testing and reports](testing_and_reports_in_merge_requests.md) diff --git a/doc/user/project/merge_requests/merge_request_approvals.md b/doc/user/project/merge_requests/merge_request_approvals.md deleted file mode 100644 index 42de04085a9..00000000000 --- a/doc/user/project/merge_requests/merge_request_approvals.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -redirect_to: 'approvals/index.md' -remove_date: '2021-07-27' ---- - -This document was moved to [another location](approvals/index.md). - -<!-- This redirect file can be deleted after <2021-07-27>. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page --> 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 deleted file mode 100644 index b32dce0b230..00000000000 --- a/doc/user/project/merge_requests/reviewing_and_managing_merge_requests.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -redirect_to: 'reviews/index.md' -remove_date: '2021-08-03' ---- - -This document was moved to [another location](reviews/index.md). - -<!-- This redirect file can be deleted after <2021-08-03>. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page --> diff --git a/doc/user/project/merge_requests/reviews/img/pending_review_comment.png b/doc/user/project/merge_requests/reviews/img/pending_review_comment.png Binary files differdeleted file mode 100644 index 70a66b3f4f0..00000000000 --- a/doc/user/project/merge_requests/reviews/img/pending_review_comment.png +++ /dev/null diff --git a/doc/user/project/merge_requests/reviews/index.md b/doc/user/project/merge_requests/reviews/index.md index 16267e13fd5..61cd0d25aaf 100644 --- a/doc/user/project/merge_requests/reviews/index.md +++ b/doc/user/project/merge_requests/reviews/index.md @@ -5,7 +5,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w type: index, reference --- -# Review and manage merge requests **(FREE)** +# Review a merge request **(FREE)** > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/216054) in GitLab 13.5. > - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/245190) in GitLab 13.9. @@ -16,47 +16,6 @@ to propose changes. Your team leaves [comments](../../../discussions/index.md), makes [code suggestions](suggestions.md) you can accept from the user interface. When your work is reviewed, your team members can choose to accept or reject it. -## Bulk edit merge requests at the project level - -Users with permission level of [Developer or higher](../../../permissions.md) can manage merge requests. - -When bulk editing merge requests in a project, you can edit the following attributes: - -- Status (open/closed) -- Assignee -- Milestone -- Labels -- Subscriptions - -To update multiple project merge requests at the same time: - -1. In a project, go to **Merge requests**. -1. Click **Edit merge requests**. A sidebar on the right-hand side of your screen appears with - editable fields. -1. Select the checkboxes next to each merge request you want to edit. -1. Select the appropriate fields and their values from the sidebar. -1. Click **Update all**. - -## Bulk edit merge requests at the group level - -> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/12719) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.2. - -Users with permission level of [Developer or higher](../../../permissions.md) can manage merge requests. - -When bulk editing merge requests in a group, you can edit the following attributes: - -- Milestone -- Labels - -To update multiple group merge requests at the same time: - -1. In a group, go to **Merge requests**. -1. Click **Edit merge requests**. A sidebar on the right-hand side of your screen appears with - editable fields. -1. Select the checkboxes next to each merge request you want to edit. -1. Select the appropriate fields and their values from the sidebar. -1. Click **Update all**. - ## Review a merge request > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/4213) in GitLab Premium 11.4. @@ -204,12 +163,51 @@ Multiline comments display the comment's line numbers above the body of the comm ![Multiline comment selection displayed above comment](img/multiline-comment-saved.png) +## Bulk edit merge requests at the project level + +Users with permission level of [Developer or higher](../../../permissions.md) can manage merge requests. + +When bulk editing merge requests in a project, you can edit the following attributes: + +- Status (open/closed) +- Assignee +- Milestone +- Labels +- Subscriptions + +To update multiple project merge requests at the same time: + +1. In a project, go to **Merge requests**. +1. Click **Edit merge requests**. A sidebar on the right-hand side of your screen appears with + editable fields. +1. Select the checkboxes next to each merge request you want to edit. +1. Select the appropriate fields and their values from the sidebar. +1. Click **Update all**. + +## Bulk edit merge requests at the group level + +> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/12719) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.2. + +Users with permission level of [Developer or higher](../../../permissions.md) can manage merge requests. + +When bulk editing merge requests in a group, you can edit the following attributes: + +- Milestone +- Labels + +To update multiple group merge requests at the same time: + +1. In a group, go to **Merge requests**. +1. Click **Edit merge requests**. A sidebar on the right-hand side of your screen appears with + editable fields. +1. Select the checkboxes next to each merge request you want to edit. +1. Select the appropriate fields and their values from the sidebar. +1. Click **Update all**. + ## Associated features These features are associated with merge requests: -- [Bulk editing merge requests](../../../project/bulk_editing.md): - Update the attributes of multiple merge requests simultaneously. - [Cherry-pick changes](../cherry_pick_changes.md): Cherry-pick any commit in the UI by selecting the **Cherry-pick** button in a merged merge requests or a commit. - [Fast-forward merge requests](../fast_forward_merge.md): diff --git a/doc/user/project/merge_requests/squash_and_merge.md b/doc/user/project/merge_requests/squash_and_merge.md index 47c7e208f2d..2842c084bc5 100644 --- a/doc/user/project/merge_requests/squash_and_merge.md +++ b/doc/user/project/merge_requests/squash_and_merge.md @@ -61,7 +61,7 @@ meaningful commit messages and: ## Enabling squash for a merge request Anyone who can create or edit a merge request can choose for it to be squashed -on the merge request form. Users can select or clear the check box when they +on the merge request form. Users can select or clear the checkbox when they create the merge request: ![Squash commits checkbox on edit form](img/squash_edit_form.png) diff --git a/doc/user/project/merge_requests/status_checks.md b/doc/user/project/merge_requests/status_checks.md index 70e2d718406..1576b639a76 100644 --- a/doc/user/project/merge_requests/status_checks.md +++ b/doc/user/project/merge_requests/status_checks.md @@ -11,9 +11,6 @@ disqus_identifier: 'https://docs.gitlab.com/ee/user/project/merge_requests/statu > - [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/3869) in GitLab 14.0, disabled behind the `:ff_external_status_checks` feature flag. > - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/320783) in GitLab 14.1. -WARNING: -This feature might not be available to you. Check the **version history** note above for details. - You can create a status check that sends merge request data to third-party tools. When users create, change, or close merge requests, GitLab sends a notification. The users or automated workflows can then update the status of merge requests from outside of GitLab. |