Skip to content
Snippets Groups Projects
Commit 4ce0bee9 authored by GitLab Bot's avatar GitLab Bot
Browse files

Add latest changes from gitlab-org/gitlab@master

parent 02ab65d4
No related branches found
No related tags found
No related merge requests found
Showing
with 42 additions and 55 deletions
Loading
Loading
@@ -26,6 +26,8 @@ module Gitlab
end
 
def find
return if epic? && group.nil?
find_object || klass.create(project_attributes)
end
 
Loading
Loading
@@ -54,10 +56,10 @@ module Gitlab
# or, if group is present:
# `"{table_name}"."project_id" = {project.id} OR "{table_name}"."group_id" = {group.id}`
def where_clause_base
clause = table[:project_id].eq(project.id) if project
clause = clause.or(table[:group_id].eq(group.id)) if group
clause
[].tap do |clauses|
clauses << table[:project_id].eq(project.id) if project
clauses << table[:group_id].eq(group.id) if group
end.reduce(:or)
end
 
# Returns Arel clause `"{table_name}"."title" = '{attributes['title']}'`
Loading
Loading
@@ -108,6 +110,10 @@ module Gitlab
klass == MergeRequest
end
 
def epic?
klass == Epic
end
# If an existing group milestone used the IID
# claim the IID back and set the group milestone to use one available
# This is necessary to fix situations like the following:
Loading
Loading
Loading
Loading
@@ -322,6 +322,13 @@ excluded_attributes:
- :board_id
- :label_id
- :milestone_id
epic:
- :start_date_sourcing_milestone_id
- :due_date_sourcing_milestone_id
- :parent_id
- :state_id
- :start_date_sourcing_epic_id
- :due_date_sourcing_epic_id
methods:
notes:
- :type
Loading
Loading
@@ -374,6 +381,7 @@ ee:
- design_versions:
- actions:
- :design # Duplicate export of issues.designs in order to link the record to both Issue and Action
- :epic
- protected_branches:
- :unprotect_access_levels
- protected_environments:
Loading
Loading
Loading
Loading
@@ -40,7 +40,21 @@ module Gitlab
 
IMPORTED_OBJECT_MAX_RETRIES = 5.freeze
 
EXISTING_OBJECT_CHECK = %i[milestone milestones label labels project_label project_labels group_label group_labels project_feature merge_request ProjectCiCdSetting container_expiration_policy].freeze
EXISTING_OBJECT_CHECK = %i[
milestone
milestones
label
labels
project_label
project_labels
group_label
group_labels
project_feature
merge_request
epic
ProjectCiCdSetting
container_expiration_policy
].freeze
 
TOKEN_RESET_MODELS = %i[Project Namespace Ci::Trigger Ci::Build Ci::Runner ProjectHook].freeze
 
Loading
Loading
@@ -86,9 +100,6 @@ module Gitlab
def create
return if unknown_service?
 
# Do not import legacy triggers
return if !Feature.enabled?(:use_legacy_pipeline_triggers, @project) && legacy_trigger?
setup_models
 
object = generate_imported_object
Loading
Loading
@@ -345,10 +356,6 @@ module Gitlab
!Object.const_defined?(parsed_relation_hash['type'])
end
 
def legacy_trigger?
@relation_name == :'Ci::Trigger' && @relation_hash['owner_id'].nil?
end
def find_or_create_object!
if UNIQUE_RELATIONS.include?(@relation_name)
unique_relation_object = relation_class.find_or_create_by(project_id: @project.id)
Loading
Loading
Loading
Loading
@@ -4,7 +4,7 @@ module Gitlab
module ImportExport
class RelationTreeRestorer
# Relations which cannot be saved at project level (and have a group assigned)
GROUP_MODELS = [GroupLabel, Milestone].freeze
GROUP_MODELS = [GroupLabel, Milestone, Epic].freeze
 
attr_reader :user
attr_reader :shared
Loading
Loading
Loading
Loading
@@ -82,6 +82,7 @@
"fuzzaldrin-plus": "^0.5.0",
"glob": "^7.1.2",
"graphql": "^14.0.2",
"immer": "^5.2.1",
"imports-loader": "^0.8.0",
"jed": "^1.1.1",
"jest-transform-graphql": "^2.1.0",
Loading
Loading
Loading
Loading
@@ -108,9 +108,9 @@ module QA
# Click :commit_button and keep retrying just in case part of the
# animation is still in process even when the buttons have the
# expected visibility.
commit_success_msg_shown = retry_until do
click_element :commit_to_current_branch_radio
click_element :commit_button
commit_success_msg_shown = retry_until(sleep_interval: 5) do
click_element(:commit_to_current_branch_radio) if has_element?(:commit_to_current_branch_radio)
click_element(:commit_button) if has_element?(:commit_button)
 
wait(reload: false) do
has_text?('Your changes have been committed')
Loading
Loading
Loading
Loading
@@ -122,7 +122,7 @@ describe Admin::SessionsController, :do_not_mock_admin_mode do
describe '#destroy' do
context 'for regular users' do
it 'shows error page' do
get :destroy
post :destroy
 
expect(response).to have_gitlab_http_status(404)
expect(controller.current_user_mode.admin_mode?).to be(false)
Loading
Loading
@@ -139,7 +139,7 @@ describe Admin::SessionsController, :do_not_mock_admin_mode do
post :create, params: { password: user.password }
expect(controller.current_user_mode.admin_mode?).to be(true)
 
get :destroy
post :destroy
 
expect(response).to have_gitlab_http_status(:found)
expect(response).to redirect_to(root_path)
Loading
Loading
Loading
Loading
@@ -32,8 +32,6 @@ describe 'a maintainer edits files on a source-branch of an MR from a fork', :js
wait_for_requests
end
 
it_behaves_like 'rendering a single diff version'
it 'mentions commits will go to the source branch' do
expect(page).to have_content('Your changes can be committed to fix because a merge request is open.')
end
Loading
Loading
Loading
Loading
@@ -13,15 +13,12 @@ describe 'User comments on a diff', :js do
let(:user) { create(:user) }
 
before do
stub_feature_flags(single_mr_diff_view: false)
project.add_maintainer(user)
sign_in(user)
 
visit(diffs_project_merge_request_path(project, merge_request))
end
 
it_behaves_like 'rendering a single diff version'
context 'when viewing comments' do
context 'when toggling inline comments' do
context 'in a single file' do
Loading
Loading
Loading
Loading
@@ -9,7 +9,6 @@ describe 'Merge request > User creates image diff notes', :js do
let(:user) { project.creator }
 
before do
stub_feature_flags(single_mr_diff_view: false)
sign_in(user)
 
# Stub helper to return any blob file as image from public app folder.
Loading
Loading
@@ -18,8 +17,6 @@ describe 'Merge request > User creates image diff notes', :js do
allow_any_instance_of(DiffHelper).to receive(:diff_file_old_blob_raw_url).and_return('/favicon.png')
end
 
it_behaves_like 'rendering a single diff version'
context 'create commit diff notes' do
commit_id = '2f63565e7aac07bcdadb654e253078b727143ec4'
 
Loading
Loading
Loading
Loading
@@ -7,7 +7,6 @@ describe 'User expands diff', :js do
let(:merge_request) { create(:merge_request, source_branch: 'expand-collapse-files', source_project: project, target_project: project) }
 
before do
stub_feature_flags(single_mr_diff_view: false)
stub_feature_flags(diffs_batch_load: false)
 
allow(Gitlab::Git::Diff).to receive(:size_limit).and_return(100.kilobytes)
Loading
Loading
@@ -18,8 +17,6 @@ describe 'User expands diff', :js do
wait_for_requests
end
 
it_behaves_like 'rendering a single diff version'
it 'allows user to expand diff' do
page.within find('[id="6eb14e00385d2fb284765eb1cd8d420d33d63fc9"]') do
click_link 'Click to expand it.'
Loading
Loading
Loading
Loading
@@ -14,15 +14,12 @@ describe 'Merge request > User posts diff notes', :js do
let(:test_note_comment) { 'this is a test note!' }
 
before do
stub_feature_flags(single_mr_diff_view: false)
set_cookie('sidebar_collapsed', 'true')
 
project.add_developer(user)
sign_in(user)
end
 
it_behaves_like 'rendering a single diff version'
context 'when hovering over a parallel view diff file' do
before do
visit diffs_project_merge_request_path(project, merge_request, view: 'parallel')
Loading
Loading
Loading
Loading
@@ -165,9 +165,9 @@ describe 'Merge request > User posts notes', :js do
find('.js-note-edit').click
 
page.within('.current-note-edit-form') do
expect(find('#note_note').value).to eq('This is the new content')
expect(find('#note_note').value).to include('This is the new content')
first('.js-md').click
expect(find('#note_note').value).to eq('This is the new content****')
expect(find('#note_note').value).to include('This is the new content****')
end
end
 
Loading
Loading
Loading
Loading
@@ -9,7 +9,6 @@ describe 'Merge request > User resolves conflicts', :js do
before do
# In order to have the diffs collapsed, we need to disable the increase feature
stub_feature_flags(gitlab_git_diff_size_limit_increase: false)
stub_feature_flags(single_mr_diff_view: false)
end
 
def create_merge_request(source_branch)
Loading
Loading
@@ -18,8 +17,6 @@ describe 'Merge request > User resolves conflicts', :js do
end
end
 
it_behaves_like 'rendering a single diff version'
shared_examples 'conflicts are resolved in Interactive mode' do
it 'conflicts are resolved in Interactive mode' do
within find('.files-wrapper .diff-file', text: 'files/ruby/popen.rb') do
Loading
Loading
Loading
Loading
@@ -20,12 +20,9 @@ describe 'Merge request > User resolves diff notes and threads', :js do
end
 
before do
stub_feature_flags(single_mr_diff_view: false)
stub_feature_flags(diffs_batch_load: false)
end
 
it_behaves_like 'rendering a single diff version'
context 'no threads' do
before do
project.add_maintainer(user)
Loading
Loading
Loading
Loading
@@ -21,7 +21,6 @@ describe 'Merge request > User sees avatars on diff notes', :js do
let!(:note) { create(:diff_note_on_merge_request, project: project, noteable: merge_request, position: position) }
 
before do
stub_feature_flags(single_mr_diff_view: false)
stub_feature_flags(diffs_batch_load: false)
project.add_maintainer(user)
sign_in user
Loading
Loading
@@ -29,8 +28,6 @@ describe 'Merge request > User sees avatars on diff notes', :js do
set_cookie('sidebar_collapsed', 'true')
end
 
it_behaves_like 'rendering a single diff version'
context 'discussion tab' do
before do
visit project_merge_request_path(project, merge_request)
Loading
Loading
Loading
Loading
@@ -10,12 +10,9 @@ describe 'Merge request > User sees diff', :js do
let(:merge_request) { create(:merge_request, source_project: project) }
 
before do
stub_feature_flags(single_mr_diff_view: false)
stub_feature_flags(diffs_batch_load: false)
end
 
it_behaves_like 'rendering a single diff version'
context 'when linking to note' do
describe 'with unresolved note' do
let(:note) { create :diff_note_on_merge_request, project: project, noteable: merge_request }
Loading
Loading
Loading
Loading
@@ -11,14 +11,11 @@ describe 'Merge request > User sees MR with deleted source branch', :js do
let(:user) { project.creator }
 
before do
stub_feature_flags(single_mr_diff_view: false)
merge_request.update!(source_branch: 'this-branch-does-not-exist')
sign_in(user)
visit project_merge_request_path(project, merge_request)
end
 
it_behaves_like 'rendering a single diff version'
it 'shows a message about missing source branch' do
expect(page).to have_content('Source branch does not exist.')
end
Loading
Loading
Loading
Loading
@@ -16,7 +16,6 @@ describe 'Merge request > User sees versions', :js do
let!(:params) { {} }
 
before do
stub_feature_flags(single_mr_diff_view: false)
stub_feature_flags(diffs_batch_load: false)
 
project.add_maintainer(user)
Loading
Loading
@@ -24,8 +23,6 @@ describe 'Merge request > User sees versions', :js do
visit diffs_project_merge_request_path(project, merge_request, params)
end
 
it_behaves_like 'rendering a single diff version'
shared_examples 'allows commenting' do |file_id:, line_code:, comment:|
it do
diff_file_selector = ".diff-file[id='#{file_id}']"
Loading
Loading
Loading
Loading
@@ -25,15 +25,12 @@ describe 'User comments on a diff', :js do
let(:user) { create(:user) }
 
before do
stub_feature_flags(single_mr_diff_view: false)
project.add_maintainer(user)
sign_in(user)
 
visit(diffs_project_merge_request_path(project, merge_request))
end
 
it_behaves_like 'rendering a single diff version'
context 'single suggestion note' do
it 'hides suggestion popover' do
click_diff_line(find("[id='#{sample_compare.changes[1][:line_code]}']"))
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment