diff --git a/lib/gitlab/import_export/project_tree_restorer.rb b/lib/gitlab/import_export/project_tree_restorer.rb index d365e9ad40b247663f07ca7aa3023d5b878f3e67..f8775729bef6559506524176196ca8093465cac5 100644 --- a/lib/gitlab/import_export/project_tree_restorer.rb +++ b/lib/gitlab/import_export/project_tree_restorer.rb @@ -10,7 +10,7 @@ module Gitlab @shared = shared @project = project @project_id = project.id - @saved = [] + @saved = true end def restore @@ -63,16 +63,16 @@ module Gitlab end end - @saved.all? + @saved end def save_relation_hash(relation_hash_batch, relation_key) relation_hash = create_relation(relation_key, relation_hash_batch) - @saved << restored_project.append_or_update_attribute(relation_key, relation_hash) + @saved = false unless restored_project.append_or_update_attribute(relation_key, relation_hash) - # Restore the project again, extra query but let us skip holding the AR objects in memory - @restored_project = Project.find(@project_id) + # Restore the project again, extra query that skips holding the AR objects in memory + @restored_project.reload end def default_relation_list