Commit cec4ae55 authored by James Lopez's avatar James Lopez

quite a few fixes - import service

parent 34c826a3
......@@ -6,11 +6,11 @@ module Gitlab
end
def untar_czf(archive:, dir:)
untar_with_options(archive: archive, dir: dir, options: 'czf')
tar_with_options(archive: archive, dir: dir, options: 'czf')
end
def untar_cf(archive:, dir:)
untar_with_options(archive: archive, dir: dir, options: 'cf')
tar_with_options(archive: archive, dir: dir, options: 'cf')
end
def tar_czf(archive:, dir:)
......@@ -24,13 +24,7 @@ module Gitlab
end
def tar_with_options(archive:, dir:, options:)
cmd = %W(tar -#{options} #{archive} -C #{dir})
_output, status = Gitlab::Popen.popen(cmd)
status.zero?
end
def untar_with_options(archive:, dir:, options:)
cmd = %W(tar -#{options} #{archive} -C #{dir})
cmd = %W(tar -#{options} #{archive} #{dir})
_output, status = Gitlab::Popen.popen(cmd)
status.zero?
end
......
......@@ -3,7 +3,7 @@ module Gitlab
class ImportService
def self.execute(*args)
new(args).execute
new(*args).execute
end
def initialize(archive_file:, owner:, namespace_id:, project_path:)
......@@ -26,7 +26,7 @@ module Gitlab
end
def project_tree
@project_tree ||= Gitlab::ImportExport::ProjectTreeRestorer.new(path: storage_path, user: @current_user)
@project_tree ||= Gitlab::ImportExport::ProjectTreeRestorer.new(path: storage_path, user: @current_user, project_path: @project_path)
end
def restore_repo
......
......@@ -13,6 +13,7 @@ module Gitlab
end
def import
FileUtils.mkdir_p(@storage_path)
decompress_archive
end
......
......@@ -3,9 +3,10 @@ module Gitlab
class ProjectTreeRestorer
attr_reader :project
def initialize(path:, user:)
def initialize(path:, user:, project_path:)
@path = File.join(path, 'project.json')
@user = user
@project_path = project_path
end
def restore
......@@ -48,6 +49,7 @@ module Gitlab
project_params = @tree_hash.reject { |_key, value| value.is_a?(Array) }
project = Gitlab::ImportExport::ProjectFactory.create(
project_params: project_params, user: @user)
project.path = @project_path
project.save
project.import_start
project
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment