update repo and wiki repo bundler to use git bundle instead of compressing via tar

This commit is contained in:
James Lopez 2016-05-05 12:01:18 +02:00
parent 773c39cca3
commit 6612ca096a
3 changed files with 8 additions and 4 deletions

View file

@ -4,8 +4,10 @@ module Projects
def execute(options = {})
@shared = Gitlab::ImportExport::Shared.new(relative_path: File.join(project.path_with_namespace, 'work'))
# TODO handle errors
save_project_tree
bundle_repo
bundle_wiki_repo
save_all
end
@ -19,6 +21,10 @@ module Projects
Gitlab::ImportExport::RepoBundler.new(project: project, shared: @shared).bundle
end
def bundle_wiki_repo
Gitlab::ImportExport::WikiRepoBundler.new(project: project, shared: @shared).bundle
end
def save_all
Gitlab::ImportExport::Saver.save(storage_path: @shared.export_path)
end

View file

@ -20,9 +20,8 @@ module Gitlab
def bundle_to_disk
FileUtils.mkdir_p(@export_path)
tar_cf(archive: full_path, dir: path_to_repo)
git_bundle(repo_path: path_to_repo, bundle_path: @full_path)
rescue
#TODO: handle error
false
end

View file

@ -3,7 +3,7 @@ module Gitlab
class WikiRepoBundler < RepoBundler
def bundle
@wiki = ProjectWiki.new(@project)
return false if !wiki?
return true if !wiki? # it's okay to have no Wiki
@full_path = File.join(@export_path, project_filename)
bundle_to_disk
end
@ -12,7 +12,6 @@ module Gitlab
FileUtils.mkdir_p(@export_path)
git_bundle(repo_path: path_to_repo, bundle_path: @full_path)
rescue
#TODO: handle error
false
end