Merge branch 'zj-create-from-bundle-mandatory' into 'master'

Moves CreateFromBundle RPC to mandatory

Closes gitaly#944

See merge request gitlab-org/gitlab-ce!20144
This commit is contained in:
Douwe Maan 2018-06-25 15:29:57 +00:00
commit 77fe416681
4 changed files with 25 additions and 44 deletions

View file

@ -21,7 +21,7 @@ class Repository
attr_accessor :full_path, :disk_path, :project, :is_wiki attr_accessor :full_path, :disk_path, :project, :is_wiki
delegate :ref_name_for_sha, to: :raw_repository delegate :ref_name_for_sha, to: :raw_repository
delegate :bundle_to_disk, :create_from_bundle, to: :raw_repository delegate :bundle_to_disk, to: :raw_repository
CreateTreeError = Class.new(StandardError) CreateTreeError = Class.new(StandardError)

View file

@ -1122,16 +1122,7 @@ module Gitlab
end end
def create_from_bundle(bundle_path) def create_from_bundle(bundle_path)
gitaly_migrate(:create_repo_from_bundle) do |is_enabled|
if is_enabled
gitaly_repository_client.create_from_bundle(bundle_path) gitaly_repository_client.create_from_bundle(bundle_path)
else
run_git!(%W(clone --bare -- #{bundle_path} #{path}), chdir: nil)
self.class.create_hooks(path, File.expand_path(Gitlab.config.gitlab_shell.hooks_path))
end
end
true
end end
def create_from_snapshot(url, auth) def create_from_snapshot(url, auth)

View file

@ -2150,13 +2150,12 @@ describe Gitlab::Git::Repository, seed_helper: true do
end end
describe '#create_from_bundle' do describe '#create_from_bundle' do
shared_examples 'creating repo from bundle' do
let(:bundle_path) { File.join(Dir.tmpdir, "repo-#{SecureRandom.hex}.bundle") } let(:bundle_path) { File.join(Dir.tmpdir, "repo-#{SecureRandom.hex}.bundle") }
let(:project) { create(:project) } let(:project) { create(:project) }
let(:imported_repo) { project.repository.raw } let(:imported_repo) { project.repository.raw }
before do before do
expect(repository.bundle_to_disk(bundle_path)).to be true expect(repository.bundle_to_disk(bundle_path)).to be_truthy
end end
after do after do
@ -2168,7 +2167,7 @@ describe Gitlab::Git::Repository, seed_helper: true do
result = imported_repo.create_from_bundle(bundle_path) result = imported_repo.create_from_bundle(bundle_path)
expect(result).to be true expect(result).to be_truthy
expect(imported_repo).to exist expect(imported_repo).to exist
expect { imported_repo.fsck }.not_to raise_exception expect { imported_repo.fsck }.not_to raise_exception
end end
@ -2181,15 +2180,6 @@ describe Gitlab::Git::Repository, seed_helper: true do
end end
end end
context 'when Gitaly create_repo_from_bundle feature is enabled' do
it_behaves_like 'creating repo from bundle'
end
context 'when Gitaly create_repo_from_bundle feature is disabled', :disable_gitaly do
it_behaves_like 'creating repo from bundle'
end
end
describe '#checksum' do describe '#checksum' do
it 'calculates the checksum for non-empty repo' do it 'calculates the checksum for non-empty repo' do
expect(repository.checksum).to eq '4be7d24ce7e8d845502d599b72d567d23e6a40c0' expect(repository.checksum).to eq '4be7d24ce7e8d845502d599b72d567d23e6a40c0'

View file

@ -30,7 +30,7 @@ describe Gitlab::ImportExport::RepoRestorer do
end end
it 'restores the repo successfully' do it 'restores the repo successfully' do
expect(restorer.restore).to be true expect(restorer.restore).to be_truthy
end end
it 'has the webhooks' do it 'has the webhooks' do