summaryrefslogtreecommitdiff
path: root/lib/gitlab/import_export/project/object_builder.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/import_export/project/object_builder.rb')
-rw-r--r--lib/gitlab/import_export/project/object_builder.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/gitlab/import_export/project/object_builder.rb b/lib/gitlab/import_export/project/object_builder.rb
index 831e38f3034..0753625b978 100644
--- a/lib/gitlab/import_export/project/object_builder.rb
+++ b/lib/gitlab/import_export/project/object_builder.rb
@@ -28,6 +28,7 @@ module Gitlab
def find
return if epic? && group.nil?
+ return find_diff_commit_user if diff_commit_user?
super
end
@@ -81,6 +82,13 @@ module Gitlab
end
end
+ def find_diff_commit_user
+ find_with_cache do
+ MergeRequest::DiffCommitUser
+ .find_or_create(@attributes['name'], @attributes['email'])
+ end
+ end
+
def label?
klass == Label
end
@@ -101,6 +109,10 @@ module Gitlab
klass == DesignManagement::Design
end
+ def diff_commit_user?
+ klass == MergeRequest::DiffCommitUser
+ 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: