Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2023-04-21 00:08:44 +00:00
parent 7fbb996fde
commit bc4b2d8d43
21 changed files with 193 additions and 204 deletions

View File

@ -33,7 +33,7 @@ export default {
i18n: { i18n: {
commitStatSummary: __('Showing %{conflict}'), commitStatSummary: __('Showing %{conflict}'),
resolveInfo: __( 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: { computed: {
@ -148,10 +148,10 @@ export default {
</gl-button> </gl-button>
</div> </div>
</div> </div>
<div class="diff-content diff-wrap-lines"> <div class="diff-content diff-wrap-lines gl-rounded-bottom-base">
<div <div
v-if="file.resolveMode === 'interactive' && file.type === 'text'" 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" /> <parallel-conflict-lines v-if="isParallel" :file="file" />
<inline-conflict-lines v-else :file="file" /> <inline-conflict-lines v-else :file="file" />
@ -164,8 +164,7 @@ export default {
</div> </div>
</div> </div>
</div> </div>
<hr /> <div class="resolve-conflicts-form gl-mt-6">
<div class="resolve-conflicts-form">
<div class="form-group row"> <div class="form-group row">
<div class="col-md-4"> <div class="col-md-4">
<h4 class="gl-mt-0"> <h4 class="gl-mt-0">
@ -180,9 +179,7 @@ export default {
<code>{{ s__('MergeConflict|Use theirs') }}</code> <code>{{ s__('MergeConflict|Use theirs') }}</code>
</template> </template>
<template #branch_name> <template #branch_name>
<a class="ref-name" :href="sourceBranchPath"> <a class="ref-name" :href="sourceBranchPath">{{ conflictsData.sourceBranch }}</a>
{{ conflictsData.sourceBranch }}
</a>
</template> </template>
</gl-sprintf> </gl-sprintf>
</div> </div>
@ -204,7 +201,7 @@ export default {
<gl-button <gl-button
:disabled="!isReadyToCommit" :disabled="!isReadyToCommit"
variant="confirm" variant="confirm"
class="js-submit-button" class="js-submit-button gl-mr-2"
@click="submitResolvedConflicts(resolveConflictsPath)" @click="submitResolvedConflicts(resolveConflictsPath)"
> >
{{ getCommitButtonText }} {{ getCommitButtonText }}

View File

@ -9,7 +9,7 @@
} }
table.code tr:last-of-type td:last-of-type { 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, .file-title,
@ -546,7 +546,7 @@ table.code {
.line_holder:last-of-type { .line_holder:last-of-type {
.diff-td:first-child, .diff-td:first-child,
td:first-child { td:first-child {
border-bottom-left-radius: $border-radius-default; border-bottom-left-radius: $border-radius-default - 1px;
} }
} }

View File

@ -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") - page_title _("Merge Conflicts"), "#{@merge_request.title} (#{@merge_request.to_reference}", _("Merge requests")
- add_page_specific_style 'page_bundles/merge_conflicts' - add_page_specific_style 'page_bundles/merge_conflicts'

View File

@ -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

View File

@ -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." - 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. 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. 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 reporter: derekferguson # (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 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 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. 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) 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. 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.

View File

@ -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

View File

@ -0,0 +1 @@
253faa0063e11decde1c0aacc1c15cbf3035e533934a6cd1d3da46e5a4a4eae4

View File

@ -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. > - [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. > - [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 ## 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 ```plaintext
GET /projects/:id/merge_requests/:merge_request_iid/status_checks 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, "id": 2,
"name": "Rule 1", "name": "Service 1",
"external_url": "https://gitlab.com/test-endpoint", "external_url": "https://gitlab.com/test-endpoint",
"status": "passed" "status": "passed"
}, },
{ {
"id": 1, "id": 1,
"name": "Rule 2", "name": "Service 2",
"external_url": "https://gitlab.com/test-endpoint-2", "external_url": "https://gitlab.com/test-endpoint-2",
"status": "pending" "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 ## Related topics
- [External status checks](../user/project/merge_requests/status_checks.md) - [External status checks](../user/project/merge_requests/status_checks.md)

View File

@ -444,24 +444,6 @@ background migration.
- Continues using the data as before. - Continues using the data as before.
- Ensures that both existing and new data are migrated. - 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 1. Add a new post-deployment migration
that checks that the batched background migration is completed. For example: 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 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. 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 After the batched migration is completed, you can safely depend on the
data in `routes.namespace_id` being populated. data in `routes.namespace_id` being populated.

View File

@ -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 it 'does not track any snowplow events' do
get :show get :show
expect_no_snowplow_event expect_no_snowplow_event(category: described_class.name, action: 'some_action')
end end
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 #### Test Snowplow context against the schema
The [Snowplow schema matcher](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/60480) The [Snowplow schema matcher](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/60480)

View File

@ -268,6 +268,22 @@ to the `gitlab-runner register` command.
<div class="deprecation breaking-change" data-milestone="17.0"> <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 ### Self-managed certificate-based integration with Kubernetes
<div class="deprecation-notes"> <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"> <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 ### SAST analyzer coverage changing in GitLab 16.0
<div class="deprecation-notes"> <div class="deprecation-notes">

View File

@ -245,12 +245,13 @@ To enable or disable the banner:
## Required pipeline configuration **(ULTIMATE SELF)** ## 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: WARNING:
An alternative [compliance solution](../../group/compliance_frameworks.md#compliance-pipelines) This feature was [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/389467) in GitLab 15.9
is available. We recommend this alternative solution because it provides greater flexibility, and is planned for removal in 17.0. Use [compliance pipelines](../../group/compliance_frameworks.md#compliance-pipelines)
allowing required pipelines to be assigned to specific compliance framework labels. instead. This change is a breaking change.
You can set a [CI/CD template](../../../ci/examples/index.md#cicd-templates) 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 as a required pipeline configuration for all projects on a GitLab instance. You can

View File

@ -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), 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. 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 ## When Web API fuzzing runs
Web API fuzzing runs in the `fuzz` stage of the CI/CD pipeline. To ensure API fuzzing scans the Web API fuzzing runs in the `fuzz` stage of the CI/CD pipeline. To ensure API fuzzing scans the

View File

@ -19,6 +19,9 @@ To use the Security Dashboards, you must:
shared runners on GitLab.com, you are using the correct version. shared runners on GitLab.com, you are using the correct version.
- Have the [correct role](../../permissions.md) for the project or group. - 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 ## When Security Dashboards are updated
The Security Dashboards show results of scans from the most recent completed pipeline on the The Security Dashboards show results of scans from the most recent completed pipeline on the

View File

@ -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 ## 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. In your project, go to **Settings > Merge requests** section.
1. Scroll down to **Status checks**. 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. 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. 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. Within the **Status checks** sub-section, select the **Add status check** button.
The **Add status check** form is then shown. 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. 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 Within the **Status checks** sub-section, select the **Edit** button
next to the status check you want to edit. 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, If you want the status check to be applied to **all** merge requests,
you can select the **All branches** option. 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 Within the **Status checks** sub-section, select the **Remove...** button
next to the status check you want to delete. next to the status check you want to delete.

View File

@ -21,24 +21,6 @@ module Banzai
end end
def find_commits(project, ids) 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? return [] unless project.valid_repo?
ids = ids.take(COMMITS_LIMIT) ids = ids.take(COMMITS_LIMIT)
@ -46,6 +28,8 @@ module Banzai
project.commits_by(oids: ids) project.commits_by(oids: ids)
end end
private
def can_read_reference?(user, ref_project, node) def can_read_reference?(user, ref_project, node)
can?(user, :download_code, ref_project) can?(user, :download_code, ref_project)
end end

View File

@ -53,7 +53,7 @@ module Gitlab
end end
def search_repos_query(string, options = {}) 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] case options[:relation_type]
when 'organization' then organization_repos_query(base, options) when 'organization' then organization_repos_query(base, options)

View File

@ -60,9 +60,9 @@ module Sidebars
override :active_routes override :active_routes
def active_routes def active_routes
if context.project.issues_enabled? if context.project.issues_enabled?
{ controller: 'projects/merge_requests' } { controller: ['projects/merge_requests', :conflicts] }
else else
{ controller: ['projects/merge_requests', :milestones] } { controller: ['projects/merge_requests', :milestones, :conflicts] }
end end
end end

View File

@ -27304,6 +27304,9 @@ msgstr ""
msgid "Merge commit message" msgid "Merge commit message"
msgstr "" msgstr ""
msgid "Merge conflicts"
msgstr ""
msgid "Merge details" msgid "Merge details"
msgstr "" msgstr ""
@ -50745,7 +50748,7 @@ msgstr ""
msgid "You can only transfer the project to namespaces you manage." msgid "You can only transfer the project to namespaces you manage."
msgstr "" 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 "" msgstr ""
msgid "You can see your chat accounts." msgid "You can see your chat accounts."

View File

@ -154,28 +154,6 @@ RSpec.describe Banzai::ReferenceParser::CommitParser, feature_category: :source_
"b83d6e391c22777fca1ed3012fce84f633d7fed0" "b83d6e391c22777fca1ed3012fce84f633d7fed0"
]) ])
end 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 end
context 'when checking commits on another projects', :request_store do context 'when checking commits on another projects', :request_store do

View File

@ -580,7 +580,10 @@ RSpec.describe Gitlab::GithubImport::Client, feature_category: :importers do
end end
describe '#search_repos_by_name_graphql' do 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_params) { "type: REPOSITORY, query: \"#{expected_query}\"" }
let(:expected_graphql) do let(:expected_graphql) do
<<-TEXT <<-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 option present' do
context 'when relation type is owned' 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 it 'searches for repositories within the organization based on name' do
expect(client.octokit).to receive(:post).with( expect(client.octokit).to receive(:post).with(
@ -629,7 +632,7 @@ RSpec.describe Gitlab::GithubImport::Client, feature_category: :importers do
end end
context 'when relation type is organization' do 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 it 'searches for repositories within the organization based on name' do
expect(client.octokit).to receive(:post).with( expect(client.octokit).to receive(:post).with(
@ -643,7 +646,7 @@ RSpec.describe Gitlab::GithubImport::Client, feature_category: :importers do
end end
context 'when relation type is collaborated' do 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 it 'searches for collaborated repositories based on name' do
expect(client.octokit).to receive(:post).with( 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 describe '#count_repos_by_relation_type_graphql' do
relation_types = { relation_types = {
'owned' => ' in:name is:public,private user:user', 'owned' => ' in:name is:public,private fork:true user:user',
'collaborated' => ' in:name is:public,private repo:repo1 repo:repo2', 'collaborated' => ' in:name is:public,private fork:true repo:repo1 repo:repo2',
'organization' => 'org:org1 org:org2' 'organization' => 'org:org1 org:org2'
} }