Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2021-06-08 06:09:51 +00:00
parent bd1e3cbdeb
commit fe30598cbd
8 changed files with 50 additions and 11 deletions

View file

@ -22,7 +22,7 @@ export default {
<gl-nav class="navbar-sub-nav"> <gl-nav class="navbar-sub-nav">
<gl-nav-item-dropdown <gl-nav-item-dropdown
:text="navData.activeTitle" :text="navData.activeTitle"
icon="dot-grid" icon="hamburger"
menu-class="gl-mt-3! gl-max-w-none! gl-max-h-none! gl-sm-w-auto! js-top-nav-dropdown-menu" menu-class="gl-mt-3! gl-max-w-none! gl-max-h-none! gl-sm-w-auto! js-top-nav-dropdown-menu"
toggle-class="top-nav-toggle js-top-nav-dropdown-toggle gl-px-3!" toggle-class="top-nav-toggle js-top-nav-dropdown-toggle gl-px-3!"
no-flip no-flip

View file

@ -23,14 +23,15 @@ module Boards
end end
reposition_ids = move_between_ids(params) reposition_ids = move_between_ids(params)
if reposition_ids attrs.merge!(reposition_params(reposition_ids)) if reposition_ids
attrs[:move_between_ids] = reposition_ids
attrs.merge!(reposition_parent)
end
attrs attrs
end end
def reposition_params(reposition_ids)
reposition_parent.merge(move_between_ids: reposition_ids)
end
def move_single_issuable(issuable, issuable_modification_params) def move_single_issuable(issuable, issuable_modification_params)
ability_name = :"admin_#{issuable.to_ability_name}" ability_name = :"admin_#{issuable.to_ability_name}"
return unless can?(current_user, ability_name, issuable) return unless can?(current_user, ability_name, issuable)

View file

@ -2,7 +2,7 @@
%ul.list-unstyled.navbar-sub-nav#js-top-nav{ data: { view_model: view_model.to_json } } %ul.list-unstyled.navbar-sub-nav#js-top-nav{ data: { view_model: view_model.to_json } }
%li %li
%a.top-nav-toggle{ href: '#', type: 'button', data: { toggle: "dropdown" } } %a.top-nav-toggle{ href: '#', type: 'button', data: { toggle: "dropdown" } }
= sprite_icon('dot-grid', css_class: "dropdown-icon") = sprite_icon('hamburger', css_class: "dropdown-icon")
= view_model[:activeTitle] = view_model[:activeTitle]
= sprite_icon('chevron-down') = sprite_icon('chevron-down')

View file

@ -2105,14 +2105,17 @@ Input type: `EpicMoveListInput`
| <a id="mutationepicmovelistboardid"></a>`boardId` | [`BoardsEpicBoardID!`](#boardsepicboardid) | Global ID of the board that the epic is in. | | <a id="mutationepicmovelistboardid"></a>`boardId` | [`BoardsEpicBoardID!`](#boardsepicboardid) | Global ID of the board that the epic is in. |
| <a id="mutationepicmovelistclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. | | <a id="mutationepicmovelistclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
| <a id="mutationepicmovelistepicid"></a>`epicId` | [`EpicID!`](#epicid) | ID of the epic to mutate. | | <a id="mutationepicmovelistepicid"></a>`epicId` | [`EpicID!`](#epicid) | ID of the epic to mutate. |
| <a id="mutationepicmovelistfromlistid"></a>`fromListId` | [`BoardsEpicListID!`](#boardsepiclistid) | ID of the board list that the epic will be moved from. | | <a id="mutationepicmovelistfromlistid"></a>`fromListId` | [`BoardsEpicListID`](#boardsepiclistid) | ID of the board list that the epic will be moved from. Required if moving between lists. |
| <a id="mutationepicmovelisttolistid"></a>`toListId` | [`BoardsEpicListID!`](#boardsepiclistid) | ID of the board list that the epic will be moved to. | | <a id="mutationepicmovelistmoveafterid"></a>`moveAfterId` | [`EpicID`](#epicid) | ID of epic that should be placed after the current epic. |
| <a id="mutationepicmovelistmovebeforeid"></a>`moveBeforeId` | [`EpicID`](#epicid) | ID of epic that should be placed before the current epic. |
| <a id="mutationepicmovelisttolistid"></a>`toListId` | [`BoardsEpicListID!`](#boardsepiclistid) | ID of the list the epic will be in after mutation. |
#### Fields #### Fields
| Name | Type | Description | | Name | Type | Description |
| ---- | ---- | ----------- | | ---- | ---- | ----------- |
| <a id="mutationepicmovelistclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. | | <a id="mutationepicmovelistclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
| <a id="mutationepicmovelistepic"></a>`epic` | [`Epic`](#epic) | The epic after mutation. |
| <a id="mutationepicmovelisterrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. | | <a id="mutationepicmovelisterrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
### `Mutation.epicSetSubscription` ### `Mutation.epicSetSubscription`

View file

@ -62,6 +62,9 @@ The [default ruleset provided by Gitleaks](https://gitlab.com/gitlab-org/securit
- Password in URL - Password in URL
- U.S. Social Security Number - U.S. Social Security Number
WARNING:
Gitleaks does not support scanning binary files.
## Requirements ## Requirements
To run Secret Detection jobs, by default, you need GitLab Runner with the To run Secret Detection jobs, by default, you need GitLab Runner with the

View file

@ -18,9 +18,9 @@ module Gitlab
def conflicts def conflicts
@conflicts ||= wrapped_gitaly_errors do @conflicts ||= wrapped_gitaly_errors do
gitaly_conflicts_client(@target_repository).list_conflict_files.to_a gitaly_conflicts_client(@target_repository).list_conflict_files.to_a
end
rescue GRPC::FailedPrecondition => e rescue GRPC::FailedPrecondition => e
raise Gitlab::Git::Conflict::Resolver::ConflictSideMissing, e.message raise Gitlab::Git::Conflict::Resolver::ConflictSideMissing, e.message
end
rescue GRPC::BadStatus => e rescue GRPC::BadStatus => e
raise Gitlab::Git::CommandError, e raise Gitlab::Git::CommandError, e
end end

View file

@ -30,7 +30,7 @@ describe('~/nav/components/top_nav_app.vue', () => {
it('renders nav item dropdown', () => { it('renders nav item dropdown', () => {
expect(findNavItemDropdown().attributes('href')).toBeUndefined(); expect(findNavItemDropdown().attributes('href')).toBeUndefined();
expect(findNavItemDropdown().attributes()).toMatchObject({ expect(findNavItemDropdown().attributes()).toMatchObject({
icon: 'dot-grid', icon: 'hamburger',
text: TEST_NAV_DATA.activeTitle, text: TEST_NAV_DATA.activeTitle,
'no-flip': '', 'no-flip': '',
}); });

View file

@ -0,0 +1,32 @@
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe Gitlab::Git::Conflict::Resolver do
let(:repository) { instance_double(Gitlab::Git::Repository) }
let(:our_commit_oid) { 'our-commit-oid' }
let(:their_commit_oid) { 'their-commit-oid' }
let(:gitaly_conflicts_client) { instance_double(Gitlab::GitalyClient::ConflictsService) }
subject(:resolver) { described_class.new(repository, our_commit_oid, their_commit_oid) }
describe '#conflicts' do
before do
allow(repository).to receive(:gitaly_conflicts_client).and_return(gitaly_conflicts_client)
end
it 'returns list of conflicts' do
conflicts = [double]
expect(gitaly_conflicts_client).to receive(:list_conflict_files).and_return(conflicts)
expect(resolver.conflicts).to eq(conflicts)
end
context 'when GRPC::FailedPrecondition is raised' do
it 'rescues and raises Gitlab::Git::Conflict::Resolver::ConflictSideMissing' do
expect(gitaly_conflicts_client).to receive(:list_conflict_files).and_raise(GRPC::FailedPrecondition)
expect { resolver.conflicts }.to raise_error(Gitlab::Git::Conflict::Resolver::ConflictSideMissing)
end
end
end
end