summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Lopez <james@jameslopez.es>2016-05-18 18:17:16 +0200
committerJames Lopez <james@jameslopez.es>2016-05-18 18:17:16 +0200
commit6c082edef83c021b933724c33fb979efdc697904 (patch)
tree5ce5b15183e2c64b2c9cc899541c6dedeb6c336c
parent0de533ed08eb3e918f30c72a46635c256881d8c0 (diff)
downloadgitlab-ce-6c082edef83c021b933724c33fb979efdc697904.tar.gz
fixed issue exporting builds
-rw-r--r--lib/gitlab/import_export/relation_factory.rb15
1 files changed, 14 insertions, 1 deletions
diff --git a/lib/gitlab/import_export/relation_factory.rb b/lib/gitlab/import_export/relation_factory.rb
index 68319441a63..d4e49ae17f0 100644
--- a/lib/gitlab/import_export/relation_factory.rb
+++ b/lib/gitlab/import_export/relation_factory.rb
@@ -22,7 +22,7 @@ module Gitlab
update_user_references(relation_hash, members_mapper.map)
update_project_references(relation_hash, klass)
- imported_object(klass, relation_hash)
+ generate_imported_object(klass, relation_hash, relation_sym)
end
private
@@ -58,6 +58,18 @@ module Gitlab
"\n\n *By #{author_name} on #{timestamp} (imported from GitLab project)*"
end
+ def generate_imported_object(klass, relation_hash, relation_sym)
+ if relation_sym == 'commit_status' # call #trace= method after assigning the other attributes
+ trace = relation_hash.delete('trace')
+ imported_object(klass, relation_hash) do |imported_object|
+ imported_object.trace = trace
+ imported_object.commit_id = nil
+ end
+ else
+ imported_object(klass, relation_hash)
+ end
+ end
+
def update_project_references(relation_hash, klass)
project_id = relation_hash.delete('project_id')
@@ -86,6 +98,7 @@ module Gitlab
def imported_object(klass, relation_hash)
imported_object = klass.new(relation_hash)
+ yield(imported_object) if block_given?
imported_object.importing = true if imported_object.respond_to?(:importing)
imported_object
end