diff options
Diffstat (limited to 'doc/user/project/merge_requests')
-rw-r--r-- | doc/user/project/merge_requests/approvals/settings.md | 2 | ||||
-rw-r--r-- | doc/user/project/merge_requests/fast_forward_merge.md | 7 | ||||
-rw-r--r-- | doc/user/project/merge_requests/img/attention_request_list_v14_10.png | bin | 0 -> 11932 bytes | |||
-rw-r--r-- | doc/user/project/merge_requests/img/attention_request_sidebar_v14_10.png | bin | 0 -> 20471 bytes | |||
-rw-r--r-- | doc/user/project/merge_requests/img/ff_merge_rebase_v14_9.png | bin | 17903 -> 6552 bytes | |||
-rw-r--r-- | doc/user/project/merge_requests/index.md | 47 | ||||
-rw-r--r-- | doc/user/project/merge_requests/reviews/index.md | 8 | ||||
-rw-r--r-- | doc/user/project/merge_requests/reviews/suggestions.md | 2 | ||||
-rw-r--r-- | doc/user/project/merge_requests/status_checks.md | 3 | ||||
-rw-r--r-- | doc/user/project/merge_requests/test_coverage_visualization.md | 29 |
10 files changed, 78 insertions, 20 deletions
diff --git a/doc/user/project/merge_requests/approvals/settings.md b/doc/user/project/merge_requests/approvals/settings.md index 0a7fbc9ee95..0ede9310393 100644 --- a/doc/user/project/merge_requests/approvals/settings.md +++ b/doc/user/project/merge_requests/approvals/settings.md @@ -146,7 +146,7 @@ You can also enforce merge request approval settings: - At the [instance level](../../../admin_area/merge_requests_approvals.md), which apply to all groups on an instance and, therefore, all projects. -- On a [top-level group](../../../group/index.md#group-approval-rules), which apply to all subgroups +- On a [top-level group](../../../group/index.md#group-approval-settings), which apply to all subgroups and projects. If the settings are inherited by a group or project, they cannot be changed in the group or project diff --git a/doc/user/project/merge_requests/fast_forward_merge.md b/doc/user/project/merge_requests/fast_forward_merge.md index dc13b270f17..77162aa0b83 100644 --- a/doc/user/project/merge_requests/fast_forward_merge.md +++ b/doc/user/project/merge_requests/fast_forward_merge.md @@ -13,8 +13,6 @@ merge commits. In such cases, the fast-forward merge is the perfect candidate. With fast-forward merge requests, you can retain a linear Git history and a way to accept merge requests without creating merge commits. -## Overview - When the fast-forward merge ([`--ff-only`](https://git-scm.com/docs/git-merge#git-merge---ff-only)) setting is enabled, no merge commits are created and all merges are fast-forwarded, @@ -22,6 +20,11 @@ which means that merging is only allowed if the branch can be fast-forwarded. When a fast-forward merge is not possible, the user is given the option to rebase. +NOTE: +Projects using the fast-forward merge strategy can't filter merge requests +[by deployment date](../../search/index.md#filtering-merge-requests-by-environment-or-deployment-date), +because no merge commit is created. + ## Enabling fast-forward merges 1. On the top bar, select **Menu > Projects** and find your project. diff --git a/doc/user/project/merge_requests/img/attention_request_list_v14_10.png b/doc/user/project/merge_requests/img/attention_request_list_v14_10.png Binary files differnew file mode 100644 index 00000000000..00427a0aa40 --- /dev/null +++ b/doc/user/project/merge_requests/img/attention_request_list_v14_10.png diff --git a/doc/user/project/merge_requests/img/attention_request_sidebar_v14_10.png b/doc/user/project/merge_requests/img/attention_request_sidebar_v14_10.png Binary files differnew file mode 100644 index 00000000000..174cf01dbb0 --- /dev/null +++ b/doc/user/project/merge_requests/img/attention_request_sidebar_v14_10.png diff --git a/doc/user/project/merge_requests/img/ff_merge_rebase_v14_9.png b/doc/user/project/merge_requests/img/ff_merge_rebase_v14_9.png Binary files differindex f4330549a57..17ce42e7a69 100644 --- a/doc/user/project/merge_requests/img/ff_merge_rebase_v14_9.png +++ b/doc/user/project/merge_requests/img/ff_merge_rebase_v14_9.png diff --git a/doc/user/project/merge_requests/index.md b/doc/user/project/merge_requests/index.md index 9872bd2e936..a3b9fb52f0d 100644 --- a/doc/user/project/merge_requests/index.md +++ b/doc/user/project/merge_requests/index.md @@ -70,6 +70,53 @@ change and whether you need access to a development environment: - [Push changes from the command line](../../../gitlab-basics/start-using-git.md), if you are familiar with Git and the command line. +## Request attention to a merge request + +> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/343528) in GitLab 14.10 [with a flag](../../../administration/feature_flags.md) named `mr_attention_requests`. Disabled by default. + +FLAG: +On self-managed GitLab, by default this feature is not available. To make it available, ask an administrator to [enable the feature flag](../../../administration/feature_flags.md) named `mr_attention_requests`. +On GitLab.com, this feature is dependent on the enablement status of the feature flag. Refer to the [enablement issue](https://gitlab.com/gitlab-org/gitlab/-/issues/343528) for details. + +To tell a merge request's assignee or reviewer that their attention is +needed on a merge request, you can request their attention. If an assignee or a +reviewer has their attention requested on a merge request, the **Attention request** +icon (**{attention}**) is displayed as a solid icon (**{attention-solid}**) on +the merge request list page: + +![Attention request icon](img/attention_request_list_v14_10.png) + +To view a list of merge requests that need your attention: + +1. On the top bar, select **Merge requests** (**{merge-request}**). +1. Select **Attention requests**. + +To request attention from another user, use the `/attention @user` +[quick action](../quick_actions.md) or: + +1. Go to the merge request. +1. On the right sidebar, identify the user you want to request attention from. +1. Next to the user's name, select **Request attention** (**{attention}**), and the appearance + of the icon changes: + + ![Attention request toggle](img/attention_request_sidebar_v14_10.png) + +### Remove an attention request + +If your attention was requested as an assignee or reviewer, it's removed when you: + +- Manually remove the attention request by selecting **Remove attention request** (**{attention-solid}**). +- Approve the merge request. +- Add a new user as an assignee or reviewer. +- Request the attention of a different assignee or reviewer. +- Remove yourself (or are removed by someone else) as an assignee or reviewer. +- Merge or close the merge request. + +If you are both the assignee and a reviewer on a merge request, you receive +only one attention request, which is synced across both duties. If the +attention request is removed from you, either as an assignee or a reviewer, +it is removed from both your duties. + ## Close a merge request If you decide to permanently stop work on a merge request, diff --git a/doc/user/project/merge_requests/reviews/index.md b/doc/user/project/merge_requests/reviews/index.md index 280ae07b401..512faae82a9 100644 --- a/doc/user/project/merge_requests/reviews/index.md +++ b/doc/user/project/merge_requests/reviews/index.md @@ -112,7 +112,13 @@ This example shows reviewers and approval rules in a merge request sidebar: ### Request a new review -> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/293933) in GitLab 13.9. +> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/293933) in GitLab 13.9. +> - [Deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/357271) in GitLab 14.10. + +WARNING: +This feature is in its end-of-life process. It is [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/357271) +in GitLab 14.10, and is planned for [removal](https://gitlab.com/gitlab-org/gitlab/-/issues/357271) in GitLab 15.0. +Use [attention requests](../index.md#request-attention-to-a-merge-request) instead. After a reviewer completes their [merge request reviews](../../../discussions/index.md), the author of the merge request can request a new review from the reviewer: diff --git a/doc/user/project/merge_requests/reviews/suggestions.md b/doc/user/project/merge_requests/reviews/suggestions.md index 9868f2619ba..8e6794bcfa7 100644 --- a/doc/user/project/merge_requests/reviews/suggestions.md +++ b/doc/user/project/merge_requests/reviews/suggestions.md @@ -108,6 +108,8 @@ For example, to customize the commit message to output **Addresses user_1's review**, set the custom text to `Addresses %{username}'s review`. +For merge requests created from forks, GitLab uses the template defined in target project. + NOTE: Custom commit messages for each applied suggestion is introduced by [#25381](https://gitlab.com/gitlab-org/gitlab/-/issues/25381). diff --git a/doc/user/project/merge_requests/status_checks.md b/doc/user/project/merge_requests/status_checks.md index a952c0550bc..76a67487881 100644 --- a/doc/user/project/merge_requests/status_checks.md +++ b/doc/user/project/merge_requests/status_checks.md @@ -54,6 +54,9 @@ External status checks have the following states: Support for adding a `failed` state is tracked [in this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/338827). +If something changes outside of GitLab, you can [set the status of an external status check](../../../api/status_checks.md#set-status-of-an-external-status-check) +using the API. You don't need to wait for a merge request webhook payload to be sent first. + ## View the status checks on a project Within each project's settings, you can see a list of status checks added to the project: diff --git a/doc/user/project/merge_requests/test_coverage_visualization.md b/doc/user/project/merge_requests/test_coverage_visualization.md index d7177208a6e..9f1e5ae7046 100644 --- a/doc/user/project/merge_requests/test_coverage_visualization.md +++ b/doc/user/project/merge_requests/test_coverage_visualization.md @@ -28,7 +28,7 @@ between pipeline completion and the visualization loading on the page. For the coverage analysis to work, you have to provide a properly formatted [Cobertura XML](https://cobertura.github.io/cobertura/) report to -[`artifacts:reports:cobertura`](../../../ci/yaml/artifacts_reports.md#artifactsreportscobertura). +[`artifacts:reports:cobertura`](../../../ci/yaml/artifacts_reports.md#artifactsreportscobertura-deprecated). This format was originally developed for Java, but most coverage analysis frameworks for other languages have plugins to add support for it, like: @@ -156,7 +156,9 @@ test: - npx nyc --reporter cobertura mocha artifacts: reports: - cobertura: coverage/cobertura-coverage.xml + coverage_report: + coverage_format: cobertura + path: coverage/cobertura-coverage.xml ``` ### Java and Kotlin examples @@ -324,18 +326,13 @@ run tests: The following [`.gitlab-ci.yml`](../../../ci/yaml/index.md) example for Go uses: - [`go test`](https://go.dev/doc/tutorial/add-a-test) to run tests. -- [`gocover-cobertura`](https://github.com/t-yuki/gocover-cobertura) to convert Go's coverage profile into the Cobertura XML format. +- [`gocover-cobertura`](https://github.com/boumenot/gocover-cobertura) to convert Go's coverage profile into the Cobertura XML format. -This example assumes that [Go modules](https://go.dev/ref/mod) are being used. -Using Go modules causes paths within the coverage profile to be prefixed with your -project's module identifier, which can be found in the `go.mod` file. This -prefix must be removed for GitLab to parse the Cobertura XML file correctly. You can use the following `sed` command to remove the prefix: - -```shell -sed -i 's;filename=\"<YOUR_MODULE_ID>/;filename=\";g' coverage.xml -``` - -Replace the `gitlab.com/my-group/my-project` placeholder in the following example with your own module identifier to make it work. +This example assumes that [Go modules](https://go.dev/ref/mod) +are being used. Please note that the `-covermode count` option does not work with the `-race` flag. +If you want to generate code coverage while also using the `-race` flag, you must switch to +`-covermode atomic` which is slower than `-covermode count`. See [this blog post](https://go.dev/blog/cover) +for more details. ```yaml run tests: @@ -343,9 +340,9 @@ run tests: image: golang:1.17 script: - go install - - go test . -coverprofile=coverage.txt -covermode count - - go run github.com/t-yuki/gocover-cobertura < coverage.txt > coverage.xml - - sed -i 's;filename=\"gitlab.com/my-group/my-project/;filename=\";g' coverage.xml + - go test ./... -coverprofile=coverage.txt -covermode count + - go get github.com/boumenot/gocover-cobertura + - go run github.com/boumenot/gocover-cobertura < coverage.txt > coverage.xml artifacts: reports: cobertura: coverage.xml |