Skip to content
Snippets Groups Projects
Commit f8e85479 authored by James Lopez's avatar James Lopez
Browse files

fix MR source project assignment

parent 551ffc0a
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -82,6 +82,7 @@ v 8.11.0 (unreleased)
- Adds support for pending invitation project members importing projects
- Update devise initializer to turn on changed password notification emails. !5648 (tombell)
- Avoid to show the original password field when password is automatically set. !5712 (duduribeiro)
- Fix importing GitLab projects with an invalid MR source project
 
v 8.10.5 (unreleased)
 
Loading
Loading
Loading
Loading
@@ -102,17 +102,19 @@ module Gitlab
def update_project_references
project_id = @relation_hash.delete('project_id')
 
# If source and target are the same, populate them with the new project ID.
if @relation_hash['source_project_id']
@relation_hash['source_project_id'] = same_source_and_target? ? project_id : -1
end
# project_id may not be part of the export, but we always need to populate it if required.
@relation_hash['project_id'] = project_id
@relation_hash['gl_project_id'] = project_id if @relation_hash['gl_project_id']
@relation_hash['target_project_id'] = project_id if @relation_hash['target_project_id']
@relation_hash['source_project_id'] = -1 if @relation_hash['source_project_id']
end
 
# If source and target are the same, populate them with the new project ID.
if @relation_hash['source_project_id'] && @relation_hash['target_project_id'] &&
@relation_hash['target_project_id'] == @relation_hash['source_project_id']
@relation_hash['source_project_id'] = project_id
end
def same_source_and_target?
@relation_hash['target_project_id'] && @relation_hash['target_project_id'] == @relation_hash['source_project_id']
end
 
def reset_ci_tokens
Loading
Loading
Loading
Loading
@@ -2393,7 +2393,7 @@
"source_project_id": 5,
"author_id": 1,
"assignee_id": null,
"title": "Cannot be automatically merged",
"title": "MR1",
"created_at": "2016-06-14T15:02:36.568Z",
"updated_at": "2016-06-14T15:02:56.815Z",
"state": "opened",
Loading
Loading
@@ -2827,10 +2827,10 @@
"id": 26,
"target_branch": "master",
"source_branch": "feature",
"source_project_id": 5,
"source_project_id": 4,
"author_id": 1,
"assignee_id": null,
"title": "Can be automatically merged",
"title": "MR2",
"created_at": "2016-06-14T15:02:36.418Z",
"updated_at": "2016-06-14T15:02:57.013Z",
"state": "opened",
Loading
Loading
Loading
Loading
@@ -71,6 +71,28 @@ describe Gitlab::ImportExport::ProjectTreeRestorer, services: true do
 
expect(Milestone.find_by_description('test milestone').issues).not_to be_empty
end
context 'Merge requests' do
before do
restored_project_json
end
it 'always has the new project as a target' do
expect(MergeRequest.find_by_title('MR1').target_project).to eq(project)
end
it 'has the same source project as originally if source/target are the same' do
expect(MergeRequest.find_by_title('MR1').source_project).to eq(project)
end
it 'has the new project as target if source/target differ' do
expect(MergeRequest.find_by_title('MR2').target_project).to eq(project)
end
it 'has no source if source/target differ' do
expect(MergeRequest.find_by_title('MR2').source_project_id).to eq(-1)
end
end
end
end
end
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