Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boxiang Sun
gitlab-ce
Commits
fc548207
Commit
fc548207
authored
Sep 26, 2016
by
James Lopez
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix model order in import/export config and 1to1 relation issue. Added relevant specs.
parent
7b42ff63
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
54 additions
and
5 deletions
+54
-5
CHANGELOG
CHANGELOG
+1
-0
lib/gitlab/import_export/import_export.yml
lib/gitlab/import_export/import_export.yml
+3
-3
lib/gitlab/import_export/project_tree_restorer.rb
lib/gitlab/import_export/project_tree_restorer.rb
+7
-1
spec/lib/gitlab/import_export/project.json
spec/lib/gitlab/import_export/project.json
+37
-1
spec/lib/gitlab/import_export/project_tree_restorer_spec.rb
spec/lib/gitlab/import_export/project_tree_restorer_spec.rb
+6
-0
No files found.
CHANGELOG
View file @
fc548207
...
...
@@ -11,6 +11,7 @@ v 8.12.2 (unreleased)
- Fix snippets pagination
- Fix List-Unsubscribe header in emails
- Fix an issue with the "Commits" section of the cycle analytics summary. !6513
- Fix errors importing project feature and milestone models using GitLab project import
v 8.12.1
- Fix a memory leak in HTML::Pipeline::SanitizationFilter::WHITELIST
...
...
lib/gitlab/import_export/import_export.yml
View file @
fc548207
# Model relationships to be included in the project import/export
project_tree
:
-
:labels
-
milestones
:
-
:events
-
issues
:
-
:events
-
notes
:
...
...
@@ -39,9 +42,6 @@ project_tree:
-
protected_branches
:
-
:merge_access_levels
-
:push_access_levels
-
:labels
-
milestones
:
-
:events
-
:project_feature
# Only include the following attributes for the models specified.
...
...
lib/gitlab/import_export/project_tree_restorer.rb
View file @
fc548207
...
...
@@ -61,11 +61,17 @@ module Gitlab
def
restore_project
return
@project
unless
@tree_hash
project_params
=
@tree_hash
.
reject
{
|
_key
,
value
|
value
.
is_a?
(
Array
)
}
@project
.
update
(
project_params
)
@project
end
def
project_params
@tree_hash
.
reject
do
|
key
,
value
|
# return params that are not 1 to many or 1 to 1 relations
value
.
is_a?
(
Array
)
||
key
==
key
.
singularize
end
end
# Given a relation hash containing one or more models and its relationships,
# loops through each model and each object from a model type and
# and assigns its correspondent attributes hash from +tree_hash+
...
...
spec/lib/gitlab/import_export/project.json
View file @
fc548207
...
...
@@ -2231,6 +2231,31 @@
],
"milestones"
:
[
{
"id"
:
1
,
"title"
:
"test milestone"
,
"project_id"
:
8
,
"description"
:
"test milestone"
,
"due_date"
:
null
,
"created_at"
:
"2016-06-14T15:02:04.415Z"
,
"updated_at"
:
"2016-06-14T15:02:04.415Z"
,
"state"
:
"active"
,
"iid"
:
1
,
"events"
:
[
{
"id"
:
487
,
"target_type"
:
"Milestone"
,
"target_id"
:
1
,
"title"
:
null
,
"data"
:
null
,
"project_id"
:
46
,
"created_at"
:
"2016-06-14T15:02:04.418Z"
,
"updated_at"
:
"2016-06-14T15:02:04.418Z"
,
"action"
:
1
,
"author_id"
:
18
}
]
},
{
"id"
:
20
,
"title"
:
"v4.0"
,
...
...
@@ -7373,5 +7398,16 @@
}
]
}
]
],
"project_feature"
:
{
"builds_access_level"
:
0
,
"created_at"
:
"2014-12-26T09:26:45.000Z"
,
"id"
:
2
,
"issues_access_level"
:
0
,
"merge_requests_access_level"
:
20
,
"project_id"
:
4
,
"snippets_access_level"
:
20
,
"updated_at"
:
"2016-09-23T11:58:28.000Z"
,
"wiki_access_level"
:
20
}
}
\ No newline at end of file
spec/lib/gitlab/import_export/project_tree_restorer_spec.rb
View file @
fc548207
...
...
@@ -107,6 +107,12 @@ describe Gitlab::ImportExport::ProjectTreeRestorer, services: true do
expect
(
Label
.
first
.
label_links
.
first
.
target
).
not_to
be_nil
end
it
'has a project feature'
do
restored_project_json
expect
(
project
.
project_feature
).
not_to
be_nil
end
it
'restores the correct service'
do
restored_project_json
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment