Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
7fbb996fde
commit
bc4b2d8d43
|
|
@ -33,7 +33,7 @@ export default {
|
|||
i18n: {
|
||||
commitStatSummary: __('Showing %{conflict}'),
|
||||
resolveInfo: __(
|
||||
'You can resolve the merge conflict using either the Interactive mode, by choosing %{use_ours} or %{use_theirs} buttons, or by editing the files directly. Commit these changes into %{branch_name}',
|
||||
'You can resolve the merge conflict using either the Interactive mode, by choosing %{use_ours} or %{use_theirs} buttons, or by editing the files directly. Commit these changes into %{branch_name}.',
|
||||
),
|
||||
},
|
||||
computed: {
|
||||
|
|
@ -148,10 +148,10 @@ export default {
|
|||
</gl-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="diff-content diff-wrap-lines">
|
||||
<div class="diff-content diff-wrap-lines gl-rounded-bottom-base">
|
||||
<div
|
||||
v-if="file.resolveMode === 'interactive' && file.type === 'text'"
|
||||
class="file-content"
|
||||
class="file-content gl-rounded-bottom-base"
|
||||
>
|
||||
<parallel-conflict-lines v-if="isParallel" :file="file" />
|
||||
<inline-conflict-lines v-else :file="file" />
|
||||
|
|
@ -164,8 +164,7 @@ export default {
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr />
|
||||
<div class="resolve-conflicts-form">
|
||||
<div class="resolve-conflicts-form gl-mt-6">
|
||||
<div class="form-group row">
|
||||
<div class="col-md-4">
|
||||
<h4 class="gl-mt-0">
|
||||
|
|
@ -180,9 +179,7 @@ export default {
|
|||
<code>{{ s__('MergeConflict|Use theirs') }}</code>
|
||||
</template>
|
||||
<template #branch_name>
|
||||
<a class="ref-name" :href="sourceBranchPath">
|
||||
{{ conflictsData.sourceBranch }}
|
||||
</a>
|
||||
<a class="ref-name" :href="sourceBranchPath">{{ conflictsData.sourceBranch }}</a>
|
||||
</template>
|
||||
</gl-sprintf>
|
||||
</div>
|
||||
|
|
@ -204,7 +201,7 @@ export default {
|
|||
<gl-button
|
||||
:disabled="!isReadyToCommit"
|
||||
variant="confirm"
|
||||
class="js-submit-button"
|
||||
class="js-submit-button gl-mr-2"
|
||||
@click="submitResolvedConflicts(resolveConflictsPath)"
|
||||
>
|
||||
{{ getCommitButtonText }}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
}
|
||||
|
||||
table.code tr:last-of-type td:last-of-type {
|
||||
@include gl-rounded-bottom-right-base();
|
||||
border-bottom-right-radius: $border-radius-default - 1px;
|
||||
}
|
||||
|
||||
.file-title,
|
||||
|
|
@ -546,7 +546,7 @@ table.code {
|
|||
.line_holder:last-of-type {
|
||||
.diff-td:first-child,
|
||||
td:first-child {
|
||||
border-bottom-left-radius: $border-radius-default;
|
||||
border-bottom-left-radius: $border-radius-default - 1px;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,6 @@
|
|||
- add_to_breadcrumbs _("Merge requests"), project_merge_requests_path(@project)
|
||||
- add_to_breadcrumbs @merge_request.to_reference, project_merge_request_path(@project, @merge_request)
|
||||
- breadcrumb_title _("Merge conflicts")
|
||||
- page_title _("Merge Conflicts"), "#{@merge_request.title} (#{@merge_request.to_reference}", _("Merge requests")
|
||||
- add_page_specific_style 'page_bundles/merge_conflicts'
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +0,0 @@
|
|||
---
|
||||
name: limited_commit_parser
|
||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/117188
|
||||
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/406461
|
||||
milestone: '15.11'
|
||||
type: development
|
||||
group: group::source code
|
||||
default_enabled: false
|
||||
|
|
@ -3,13 +3,13 @@
|
|||
#
|
||||
- title: "Required Pipeline Configuration is deprecated" # (required) Clearly explain the change, or planned change. For example, "The `confidential` field for a `Note` is deprecated" or "CI/CD job names will be limited to 250 characters."
|
||||
announcement_milestone: "15.9" # (required) The milestone when this feature was first announced as deprecated.
|
||||
removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed
|
||||
removal_milestone: "17.0" # (required) The milestone when this feature is planned to be removed
|
||||
breaking_change: true # (required) Change to false if this is not a breaking change.
|
||||
reporter: jheimbuck_gl # (required) GitLab username of the person reporting the change
|
||||
stage: Verify # (required) String value of the stage that the feature was created in. e.g., Growth
|
||||
reporter: derekferguson # (required) GitLab username of the person reporting the change
|
||||
stage: Compliance Management # (required) String value of the stage that the feature was created in. e.g., Growth
|
||||
issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/389467 # (required) Link to the deprecation issue in GitLab
|
||||
body: | # (required) Do not modify this line, instead modify the lines below.
|
||||
Required Pipeline Configuration will be removed in the 16.0 release. This impacts self-managed users on the Ultimate license.
|
||||
Required Pipeline Configuration will be removed in the 17.0 release. This impacts self-managed users on the Ultimate license.
|
||||
|
||||
We recommend replacing this with an alternative [compliance solution](https://docs.gitlab.com/ee/user/group/compliance_frameworks.html#compliance-pipelines)
|
||||
that is available now. We recommend this alternative solution because it provides greater flexibility, allowing required pipelines to be assigned to specific compliance framework labels.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class AddIssuesIncidentTypeTempIndexAsyncDotCom < Gitlab::Database::Migration[2.1]
|
||||
INDEX_NAME = 'tmp_index_issues_on_issue_type_and_id_only_incidents'
|
||||
INCIDENT_ENUM_VALUE = 1
|
||||
|
||||
# TODO: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/117728
|
||||
def up
|
||||
prepare_async_index :issues, [:issue_type, :id], name: INDEX_NAME, where: "issue_type = #{INCIDENT_ENUM_VALUE}"
|
||||
end
|
||||
|
||||
def down
|
||||
unprepare_async_index :issues, [:issue_type, :id], name: INDEX_NAME
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1 @@
|
|||
253faa0063e11decde1c0aacc1c15cbf3035e533934a6cd1d3da46e5a4a4eae4
|
||||
|
|
@ -10,9 +10,92 @@ type: reference, api
|
|||
> - [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.
|
||||
|
||||
## Get project external status check services
|
||||
|
||||
You can request information about a project's external status check services using the following endpoint:
|
||||
|
||||
```plaintext
|
||||
GET /projects/:id/external_status_checks
|
||||
```
|
||||
|
||||
**Parameters:**
|
||||
|
||||
| Attribute | Type | Required | Description |
|
||||
|---------------------|---------|----------|---------------------|
|
||||
| `id` | integer | yes | ID of a project |
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"id": 1,
|
||||
"name": "Compliance Tool",
|
||||
"project_id": 6,
|
||||
"external_url": "https://gitlab.com/example/compliance-tool",
|
||||
"protected_branches": [
|
||||
{
|
||||
"id": 14,
|
||||
"project_id": 6,
|
||||
"name": "master",
|
||||
"created_at": "2020-10-12T14:04:50.787Z",
|
||||
"updated_at": "2020-10-12T14:04:50.787Z",
|
||||
"code_owner_approval_required": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
## Create external status check service
|
||||
|
||||
You can create a new external status check service for a project using the following endpoint:
|
||||
|
||||
```plaintext
|
||||
POST /projects/:id/external_status_checks
|
||||
```
|
||||
|
||||
WARNING:
|
||||
External status checks send information about all applicable merge requests to the
|
||||
defined external service. This includes confidential merge requests.
|
||||
|
||||
| Attribute | Type | Required | Description |
|
||||
|------------------------|------------------|----------|------------------------------------------------|
|
||||
| `id` | integer | yes | ID of a project |
|
||||
| `name` | string | yes | Display name of external status check service |
|
||||
| `external_url` | string | yes | URL of external status check service |
|
||||
| `protected_branch_ids` | `array<Integer>` | no | IDs of protected branches to scope the rule by |
|
||||
|
||||
## Update external status check service
|
||||
|
||||
You can update an existing external status check for a project using the following endpoint:
|
||||
|
||||
```plaintext
|
||||
PUT /projects/:id/external_status_checks/:check_id
|
||||
```
|
||||
|
||||
| Attribute | Type | Required | Description |
|
||||
|------------------------|------------------|----------|------------------------------------------------|
|
||||
| `id` | integer | yes | ID of a project |
|
||||
| `check_id` | integer | yes | ID of an external status check service |
|
||||
| `name` | string | no | Display name of external status check service |
|
||||
| `external_url` | string | no | URL of external status check service |
|
||||
| `protected_branch_ids` | `array<Integer>` | no | IDs of protected branches to scope the rule by |
|
||||
|
||||
## Delete external status check service
|
||||
|
||||
You can delete an external status check service for a project using the following endpoint:
|
||||
|
||||
```plaintext
|
||||
DELETE /projects/:id/external_status_checks/:check_id
|
||||
```
|
||||
|
||||
| Attribute | Type | Required | Description |
|
||||
|------------------------|----------------|----------|----------------------------------------|
|
||||
| `check_id` | integer | yes | ID of an external status check service |
|
||||
| `id` | integer | yes | ID of a project |
|
||||
|
||||
## List status checks for a merge request
|
||||
|
||||
For a single merge request, list the external status checks that apply to it and their status.
|
||||
For a single merge request, list the external status check services that apply to it and their status.
|
||||
|
||||
```plaintext
|
||||
GET /projects/:id/merge_requests/:merge_request_iid/status_checks
|
||||
|
|
@ -29,13 +112,13 @@ GET /projects/:id/merge_requests/:merge_request_iid/status_checks
|
|||
[
|
||||
{
|
||||
"id": 2,
|
||||
"name": "Rule 1",
|
||||
"name": "Service 1",
|
||||
"external_url": "https://gitlab.com/test-endpoint",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"name": "Rule 2",
|
||||
"name": "Service 2",
|
||||
"external_url": "https://gitlab.com/test-endpoint-2",
|
||||
"status": "pending"
|
||||
}
|
||||
|
|
@ -251,89 +334,6 @@ In case status check is already passed status code is 422
|
|||
}
|
||||
```
|
||||
|
||||
## Get project external status checks
|
||||
|
||||
You can request information about a project's external status checks using the following endpoint:
|
||||
|
||||
```plaintext
|
||||
GET /projects/:id/external_status_checks
|
||||
```
|
||||
|
||||
**Parameters:**
|
||||
|
||||
| Attribute | Type | Required | Description |
|
||||
|---------------------|---------|----------|---------------------|
|
||||
| `id` | integer | yes | ID of a project |
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"id": 1,
|
||||
"name": "Compliance Check",
|
||||
"project_id": 6,
|
||||
"external_url": "https://gitlab.com/example/test.json",
|
||||
"protected_branches": [
|
||||
{
|
||||
"id": 14,
|
||||
"project_id": 6,
|
||||
"name": "master",
|
||||
"created_at": "2020-10-12T14:04:50.787Z",
|
||||
"updated_at": "2020-10-12T14:04:50.787Z",
|
||||
"code_owner_approval_required": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
## Create external status check
|
||||
|
||||
You can create a new external status check for a project using the following endpoint:
|
||||
|
||||
```plaintext
|
||||
POST /projects/:id/external_status_checks
|
||||
```
|
||||
|
||||
WARNING:
|
||||
External status checks send information about all applicable merge requests to the
|
||||
defined external service. This includes confidential merge requests.
|
||||
|
||||
| Attribute | Type | Required | Description |
|
||||
|------------------------|------------------|----------|------------------------------------------------|
|
||||
| `id` | integer | yes | ID of a project |
|
||||
| `name` | string | yes | Display name of external status check |
|
||||
| `external_url` | string | yes | URL of external status check resource |
|
||||
| `protected_branch_ids` | `array<Integer>` | no | IDs of protected branches to scope the rule by |
|
||||
|
||||
## Delete external status check
|
||||
|
||||
You can delete an external status check for a project using the following endpoint:
|
||||
|
||||
```plaintext
|
||||
DELETE /projects/:id/external_status_checks/:check_id
|
||||
```
|
||||
|
||||
| Attribute | Type | Required | Description |
|
||||
|------------------------|----------------|----------|-----------------------|
|
||||
| `check_id` | integer | yes | ID of an external status check |
|
||||
| `id` | integer | yes | ID of a project |
|
||||
|
||||
## Update external status check
|
||||
|
||||
You can update an existing external status check for a project using the following endpoint:
|
||||
|
||||
```plaintext
|
||||
PUT /projects/:id/external_status_checks/:check_id
|
||||
```
|
||||
|
||||
| Attribute | Type | Required | Description |
|
||||
|------------------------|------------------|----------|------------------------------------------------|
|
||||
| `id` | integer | yes | ID of a project |
|
||||
| `check_id` | integer | yes | ID of an external status check |
|
||||
| `name` | string | no | Display name of external status check |
|
||||
| `external_url` | string | no | URL of external status check resource |
|
||||
| `protected_branch_ids` | `array<Integer>` | no | IDs of protected branches to scope the rule by |
|
||||
|
||||
## Related topics
|
||||
|
||||
- [External status checks](../user/project/merge_requests/status_checks.md)
|
||||
|
|
|
|||
|
|
@ -444,24 +444,6 @@ background migration.
|
|||
- Continues using the data as before.
|
||||
- Ensures that both existing and new data are migrated.
|
||||
|
||||
1. In the next release, add a database migration to remove the trigger.
|
||||
|
||||
```ruby
|
||||
class RemoveNamepaceIdTriggerFromRoutes < Gitlab::Database::Migration[2.1]
|
||||
FUNCTION_NAME = 'example_function'
|
||||
TRIGGER_NAME = 'example_trigger'
|
||||
|
||||
def up
|
||||
drop_trigger(TRIGGER_NAME, :routes)
|
||||
drop_function(FUNCTION_NAME)
|
||||
end
|
||||
|
||||
def down
|
||||
# Should reverse the trigger and the function in the up method of the migration that added it
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
1. Add a new post-deployment migration
|
||||
that checks that the batched background migration is completed. For example:
|
||||
|
||||
|
|
@ -497,6 +479,24 @@ background migration.
|
|||
instance, the data is advisory, and not mission-critical), then you can skip this
|
||||
final step. This step confirms that the migration is completed, and all of the rows were migrated.
|
||||
|
||||
1. Add a database migration to remove the trigger.
|
||||
|
||||
```ruby
|
||||
class RemoveNamepaceIdTriggerFromRoutes < Gitlab::Database::Migration[2.1]
|
||||
FUNCTION_NAME = 'example_function'
|
||||
TRIGGER_NAME = 'example_trigger'
|
||||
|
||||
def up
|
||||
drop_trigger(TRIGGER_NAME, :routes)
|
||||
drop_function(FUNCTION_NAME)
|
||||
end
|
||||
|
||||
def down
|
||||
# Should reverse the trigger and the function in the up method of the migration that added it
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
After the batched migration is completed, you can safely depend on the
|
||||
data in `routes.namespace_id` being populated.
|
||||
|
||||
|
|
|
|||
|
|
@ -1216,11 +1216,17 @@ When you want to ensure that no event got called, you can use `expect_no_snowplo
|
|||
it 'does not track any snowplow events' do
|
||||
get :show
|
||||
|
||||
expect_no_snowplow_event
|
||||
expect_no_snowplow_event(category: described_class.name, action: 'some_action')
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
Even though `category` and `action` can be omitted, you should at least
|
||||
specify a `category` to avoid flaky tests. For example,
|
||||
`Users::ActivityService` may track a Snowplow event after an API
|
||||
request, and `expect_no_snowplow_event` will fail if that happens to run
|
||||
when no arguments are specified.
|
||||
|
||||
#### Test Snowplow context against the schema
|
||||
|
||||
The [Snowplow schema matcher](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/60480)
|
||||
|
|
|
|||
|
|
@ -268,6 +268,22 @@ to the `gitlab-runner register` command.
|
|||
|
||||
<div class="deprecation breaking-change" data-milestone="17.0">
|
||||
|
||||
### Required Pipeline Configuration is deprecated
|
||||
|
||||
<div class="deprecation-notes">
|
||||
- Announced in: GitLab <span class="milestone">15.9</span>
|
||||
- [Breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/)
|
||||
</div>
|
||||
|
||||
Required Pipeline Configuration will be removed in the 17.0 release. This impacts self-managed users on the Ultimate license.
|
||||
|
||||
We recommend replacing this with an alternative [compliance solution](https://docs.gitlab.com/ee/user/group/compliance_frameworks.html#compliance-pipelines)
|
||||
that is available now. We recommend this alternative solution because it provides greater flexibility, allowing required pipelines to be assigned to specific compliance framework labels.
|
||||
|
||||
</div>
|
||||
|
||||
<div class="deprecation breaking-change" data-milestone="17.0">
|
||||
|
||||
### Self-managed certificate-based integration with Kubernetes
|
||||
|
||||
<div class="deprecation-notes">
|
||||
|
|
@ -1546,22 +1562,6 @@ This could be a breaking change for anyone that developed their own runner that
|
|||
|
||||
<div class="deprecation breaking-change" data-milestone="16.0">
|
||||
|
||||
### Required Pipeline Configuration is deprecated
|
||||
|
||||
<div class="deprecation-notes">
|
||||
- Announced in: GitLab <span class="milestone">15.9</span>
|
||||
- [Breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/)
|
||||
</div>
|
||||
|
||||
Required Pipeline Configuration will be removed in the 16.0 release. This impacts self-managed users on the Ultimate license.
|
||||
|
||||
We recommend replacing this with an alternative [compliance solution](https://docs.gitlab.com/ee/user/group/compliance_frameworks.html#compliance-pipelines)
|
||||
that is available now. We recommend this alternative solution because it provides greater flexibility, allowing required pipelines to be assigned to specific compliance framework labels.
|
||||
|
||||
</div>
|
||||
|
||||
<div class="deprecation breaking-change" data-milestone="16.0">
|
||||
|
||||
### SAST analyzer coverage changing in GitLab 16.0
|
||||
|
||||
<div class="deprecation-notes">
|
||||
|
|
|
|||
|
|
@ -245,12 +245,13 @@ To enable or disable the banner:
|
|||
|
||||
## Required pipeline configuration **(ULTIMATE SELF)**
|
||||
|
||||
> [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/352316) from GitLab Premium to GitLab Ultimate in 15.0.
|
||||
> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/352316) from GitLab Premium to GitLab Ultimate in 15.0.
|
||||
> - [Deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/389467) in GitLab 15.9.
|
||||
|
||||
NOTE:
|
||||
An alternative [compliance solution](../../group/compliance_frameworks.md#compliance-pipelines)
|
||||
is available. We recommend this alternative solution because it provides greater flexibility,
|
||||
allowing required pipelines to be assigned to specific compliance framework labels.
|
||||
WARNING:
|
||||
This feature was [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/389467) in GitLab 15.9
|
||||
and is planned for removal in 17.0. Use [compliance pipelines](../../group/compliance_frameworks.md#compliance-pipelines)
|
||||
instead. This change is a breaking change.
|
||||
|
||||
You can set a [CI/CD template](../../../ci/examples/index.md#cicd-templates)
|
||||
as a required pipeline configuration for all projects on a GitLab instance. You can
|
||||
|
|
|
|||
|
|
@ -16,6 +16,9 @@ We recommend that you use fuzz testing in addition to [GitLab Secure](../index.m
|
|||
other security scanners and your own test processes. If you're using [GitLab CI/CD](../../../ci/index.md),
|
||||
you can run fuzz tests as part your CI/CD workflow.
|
||||
|
||||
<i class="fa fa-youtube-play youtube" aria-hidden="true"></i>
|
||||
For an overview, see [Web API Fuzzing](https://www.youtube.com/watch?v=oUHsfvLGhDk).
|
||||
|
||||
## When Web API fuzzing runs
|
||||
|
||||
Web API fuzzing runs in the `fuzz` stage of the CI/CD pipeline. To ensure API fuzzing scans the
|
||||
|
|
|
|||
|
|
@ -19,6 +19,9 @@ To use the Security Dashboards, you must:
|
|||
shared runners on GitLab.com, you are using the correct version.
|
||||
- Have the [correct role](../../permissions.md) for the project or group.
|
||||
|
||||
<i class="fa fa-youtube-play youtube" aria-hidden="true"></i>
|
||||
For an overview, see [Security Dashboard](https://www.youtube.com/watch?v=QHQHN4luNpc).
|
||||
|
||||
## When Security Dashboards are updated
|
||||
|
||||
The Security Dashboards show results of scans from the most recent completed pipeline on the
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ using the API. You don't need to wait for a merge request webhook payload to be
|
|||
|
||||
## View the status checks on a project
|
||||
|
||||
Within each project's settings, you can see a list of status checks added to the project:
|
||||
Within each project's settings, you can see a list of status check services added to the project:
|
||||
|
||||
1. In your project, go to **Settings > Merge requests** section.
|
||||
1. Scroll down to **Status checks**.
|
||||
|
|
@ -81,9 +81,9 @@ Within each project's settings, you can see a list of status checks added to the
|
|||
This list shows the service name, API URL, and targeted branch.
|
||||
It also provides actions to allow you to create, edit, or remove status checks.
|
||||
|
||||
## Add or update a status check
|
||||
## Add or update a status check service
|
||||
|
||||
### Add a status check
|
||||
### Add a status check service
|
||||
|
||||
Within the **Status checks** sub-section, select the **Add status check** button.
|
||||
The **Add status check** form is then shown.
|
||||
|
|
@ -92,7 +92,7 @@ The **Add status check** form is then shown.
|
|||
|
||||
Filling in the form and selecting the **Add status check** button creates a new status check.
|
||||
|
||||
### Update a status check
|
||||
### Update a status check service
|
||||
|
||||
Within the **Status checks** sub-section, select the **Edit** button
|
||||
next to the status check you want to edit.
|
||||
|
|
@ -135,7 +135,7 @@ for doesn't appear immediately. The search box requires
|
|||
If you want the status check to be applied to **all** merge requests,
|
||||
you can select the **All branches** option.
|
||||
|
||||
## Delete a status check
|
||||
## Delete a status check service
|
||||
|
||||
Within the **Status checks** sub-section, select the **Remove...** button
|
||||
next to the status check you want to delete.
|
||||
|
|
|
|||
|
|
@ -21,24 +21,6 @@ module Banzai
|
|||
end
|
||||
|
||||
def find_commits(project, ids)
|
||||
return limited_commits(project, ids) if Feature.enabled?(:limited_commit_parser, project)
|
||||
|
||||
commits = []
|
||||
|
||||
return commits unless project.valid_repo?
|
||||
|
||||
ids.each do |id|
|
||||
commit = project.commit(id)
|
||||
|
||||
commits << commit if commit
|
||||
end
|
||||
|
||||
commits
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def limited_commits(project, ids)
|
||||
return [] unless project.valid_repo?
|
||||
|
||||
ids = ids.take(COMMITS_LIMIT)
|
||||
|
|
@ -46,6 +28,8 @@ module Banzai
|
|||
project.commits_by(oids: ids)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def can_read_reference?(user, ref_project, node)
|
||||
can?(user, :download_code, ref_project)
|
||||
end
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ module Gitlab
|
|||
end
|
||||
|
||||
def search_repos_query(string, options = {})
|
||||
base = "#{string} in:name is:public,private"
|
||||
base = "#{string} in:name is:public,private fork:true"
|
||||
|
||||
case options[:relation_type]
|
||||
when 'organization' then organization_repos_query(base, options)
|
||||
|
|
|
|||
|
|
@ -60,9 +60,9 @@ module Sidebars
|
|||
override :active_routes
|
||||
def active_routes
|
||||
if context.project.issues_enabled?
|
||||
{ controller: 'projects/merge_requests' }
|
||||
{ controller: ['projects/merge_requests', :conflicts] }
|
||||
else
|
||||
{ controller: ['projects/merge_requests', :milestones] }
|
||||
{ controller: ['projects/merge_requests', :milestones, :conflicts] }
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -27304,6 +27304,9 @@ msgstr ""
|
|||
msgid "Merge commit message"
|
||||
msgstr ""
|
||||
|
||||
msgid "Merge conflicts"
|
||||
msgstr ""
|
||||
|
||||
msgid "Merge details"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -50745,7 +50748,7 @@ msgstr ""
|
|||
msgid "You can only transfer the project to namespaces you manage."
|
||||
msgstr ""
|
||||
|
||||
msgid "You can resolve the merge conflict using either the Interactive mode, by choosing %{use_ours} or %{use_theirs} buttons, or by editing the files directly. Commit these changes into %{branch_name}"
|
||||
msgid "You can resolve the merge conflict using either the Interactive mode, by choosing %{use_ours} or %{use_theirs} buttons, or by editing the files directly. Commit these changes into %{branch_name}."
|
||||
msgstr ""
|
||||
|
||||
msgid "You can see your chat accounts."
|
||||
|
|
|
|||
|
|
@ -154,28 +154,6 @@ RSpec.describe Banzai::ReferenceParser::CommitParser, feature_category: :source_
|
|||
"b83d6e391c22777fca1ed3012fce84f633d7fed0"
|
||||
])
|
||||
end
|
||||
|
||||
context 'when limited_commit_parser feature flag disabled' do
|
||||
before do
|
||||
stub_feature_flags(limited_commit_parser: false)
|
||||
end
|
||||
|
||||
it 'returns an Array of commit objects' do
|
||||
commit = double(:commit)
|
||||
|
||||
expect(project).to receive(:commit).with('123').and_return(commit)
|
||||
expect(project).to receive(:valid_repo?).and_return(true)
|
||||
|
||||
expect(subject.find_commits(project, %w{123})).to eq([commit])
|
||||
end
|
||||
|
||||
it 'skips commit IDs for which no commit could be found' do
|
||||
expect(project).to receive(:commit).with('123').and_return(nil)
|
||||
expect(project).to receive(:valid_repo?).and_return(true)
|
||||
|
||||
expect(subject.find_commits(project, %w{123})).to eq([])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'when checking commits on another projects', :request_store do
|
||||
|
|
|
|||
|
|
@ -580,7 +580,10 @@ RSpec.describe Gitlab::GithubImport::Client, feature_category: :importers do
|
|||
end
|
||||
|
||||
describe '#search_repos_by_name_graphql' do
|
||||
let(:expected_query) { 'test in:name is:public,private user:user repo:repo1 repo:repo2 org:org1 org:org2' }
|
||||
let(:expected_query) do
|
||||
'test in:name is:public,private fork:true user:user repo:repo1 repo:repo2 org:org1 org:org2'
|
||||
end
|
||||
|
||||
let(:expected_graphql_params) { "type: REPOSITORY, query: \"#{expected_query}\"" }
|
||||
let(:expected_graphql) do
|
||||
<<-TEXT
|
||||
|
|
@ -617,7 +620,7 @@ RSpec.describe Gitlab::GithubImport::Client, feature_category: :importers do
|
|||
|
||||
context 'when relation type option present' do
|
||||
context 'when relation type is owned' do
|
||||
let(:expected_query) { 'test in:name is:public,private user:user' }
|
||||
let(:expected_query) { 'test in:name is:public,private fork:true user:user' }
|
||||
|
||||
it 'searches for repositories within the organization based on name' do
|
||||
expect(client.octokit).to receive(:post).with(
|
||||
|
|
@ -629,7 +632,7 @@ RSpec.describe Gitlab::GithubImport::Client, feature_category: :importers do
|
|||
end
|
||||
|
||||
context 'when relation type is organization' do
|
||||
let(:expected_query) { 'test in:name is:public,private org:test-login' }
|
||||
let(:expected_query) { 'test in:name is:public,private fork:true org:test-login' }
|
||||
|
||||
it 'searches for repositories within the organization based on name' do
|
||||
expect(client.octokit).to receive(:post).with(
|
||||
|
|
@ -643,7 +646,7 @@ RSpec.describe Gitlab::GithubImport::Client, feature_category: :importers do
|
|||
end
|
||||
|
||||
context 'when relation type is collaborated' do
|
||||
let(:expected_query) { 'test in:name is:public,private repo:repo1 repo:repo2' }
|
||||
let(:expected_query) { 'test in:name is:public,private fork:true repo:repo1 repo:repo2' }
|
||||
|
||||
it 'searches for collaborated repositories based on name' do
|
||||
expect(client.octokit).to receive(:post).with(
|
||||
|
|
@ -710,8 +713,8 @@ RSpec.describe Gitlab::GithubImport::Client, feature_category: :importers do
|
|||
|
||||
describe '#count_repos_by_relation_type_graphql' do
|
||||
relation_types = {
|
||||
'owned' => ' in:name is:public,private user:user',
|
||||
'collaborated' => ' in:name is:public,private repo:repo1 repo:repo2',
|
||||
'owned' => ' in:name is:public,private fork:true user:user',
|
||||
'collaborated' => ' in:name is:public,private fork:true repo:repo1 repo:repo2',
|
||||
'organization' => 'org:org1 org:org2'
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue