Commit f386d7a7 authored by James Lopez's avatar James Lopez

some changes based on MR feedback

parent 2dff04f2
...@@ -9,11 +9,11 @@ module Gitlab ...@@ -9,11 +9,11 @@ module Gitlab
untar_with_options(archive: archive, dir: dir, options: 'zxf') untar_with_options(archive: archive, dir: dir, options: 'zxf')
end end
def git_bundle(git_bin_path: Gitlab.config.git.bin_path, repo_path:, bundle_path:) def git_bundle(repo_path:, bundle_path:)
execute(%W(#{git_bin_path} --git-dir=#{repo_path} bundle create #{bundle_path} --all)) execute(%W(#{git_bin_path} --git-dir=#{repo_path} bundle create #{bundle_path} --all))
end end
def git_unbundle(git_bin_path: Gitlab.config.git.bin_path, repo_path:, bundle_path:) def git_unbundle(repo_path:, bundle_path:)
execute(%W(#{git_bin_path} clone --bare #{bundle_path} #{repo_path})) execute(%W(#{git_bin_path} clone --bare #{bundle_path} #{repo_path}))
end end
...@@ -31,6 +31,10 @@ module Gitlab ...@@ -31,6 +31,10 @@ module Gitlab
_output, status = Gitlab::Popen.popen(cmd) _output, status = Gitlab::Popen.popen(cmd)
status.zero? status.zero?
end end
def git_bin_path
Gitlab.config.git.bin_path
end
end end
end end
end end
...@@ -14,6 +14,7 @@ module Gitlab ...@@ -14,6 +14,7 @@ module Gitlab
@attributes_parser.find_included(:project).merge(include: build_hash(@tree)) @attributes_parser.find_included(:project).merge(include: build_hash(@tree))
rescue => e rescue => e
@shared.error(e.message) @shared.error(e.message)
false
end end
private private
......
...@@ -5,7 +5,7 @@ module Gitlab ...@@ -5,7 +5,7 @@ module Gitlab
attr_reader :full_path attr_reader :full_path
def initialize(project: , shared: ) def initialize(project:, shared:)
@project = project @project = project
@shared = shared @shared = shared
end end
......
...@@ -3,14 +3,13 @@ module Gitlab ...@@ -3,14 +3,13 @@ module Gitlab
class WikiRepoBundler < RepoBundler class WikiRepoBundler < RepoBundler
def bundle def bundle
@wiki = ProjectWiki.new(@project) @wiki = ProjectWiki.new(@project)
return true if !wiki? # it's okay to have no Wiki return true unless wiki_repository_exists? # it's okay to have no Wiki
@full_path = File.join(@shared.export_path, project_filename) bundle_to_disk(File.join(@shared.export_path, project_filename))
bundle_to_disk
end end
def bundle_to_disk def bundle_to_disk(full_path)
FileUtils.mkdir_p(@shared.export_path) FileUtils.mkdir_p(@shared.export_path)
git_bundle(repo_path: path_to_repo, bundle_path: @full_path) git_bundle(repo_path: path_to_repo, bundle_path: full_path)
rescue => e rescue => e
@shared.error(e.message) @shared.error(e.message)
false false
...@@ -26,7 +25,7 @@ module Gitlab ...@@ -26,7 +25,7 @@ module Gitlab
@wiki.repository.path_to_repo @wiki.repository.path_to_repo
end end
def wiki? def wiki_repository_exists?
File.exists?(@wiki.repository.path_to_repo) && !@wiki.repository.empty? File.exists?(@wiki.repository.path_to_repo) && !@wiki.repository.empty?
end end
end end
......
require 'spec_helper' require 'spec_helper'
describe Gitlab::ImportExport::ImportExportReader do describe Gitlab::ImportExport::ImportExportReader, lib: true do
let(:shared) { Gitlab::ImportExport::Shared.new(relative_path:'') } let(:shared) { Gitlab::ImportExport::Shared.new(relative_path:'') }
let(:test_config) { 'spec/support/import_export/import_export.yml' } let(:test_config) { 'spec/support/import_export/import_export.yml' }
let(:project_tree_hash) do let(:project_tree_hash) do
...@@ -16,7 +16,7 @@ describe Gitlab::ImportExport::ImportExportReader do ...@@ -16,7 +16,7 @@ describe Gitlab::ImportExport::ImportExportReader do
} }
end end
it 'should generate hash from project tree config' do it 'generates hash from project tree config' do
expect(described_class.new(config: test_config, shared: shared).project_tree) =~ (project_tree_hash) expect(described_class.new(config: test_config, shared: shared).project_tree).to match(project_tree_hash)
end end
end end
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