get it working
This commit is contained in:
parent
1e950e3148
commit
44d15e4143
3 changed files with 11 additions and 1 deletions
|
@ -15,6 +15,10 @@ module Gitlab
|
||||||
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_clone_bundle(repo_path:, bundle_path:)
|
||||||
|
execute(%W(#{git_bin_path} clone --bare -- #{bundle_path} #{repo_path}))
|
||||||
|
end
|
||||||
|
|
||||||
def mkdir_p(path)
|
def mkdir_p(path)
|
||||||
FileUtils.mkdir_p(path, mode: DEFAULT_MODE)
|
FileUtils.mkdir_p(path, mode: DEFAULT_MODE)
|
||||||
FileUtils.chmod(DEFAULT_MODE, path)
|
FileUtils.chmod(DEFAULT_MODE, path)
|
||||||
|
|
|
@ -13,7 +13,9 @@ module Gitlab
|
||||||
def restore
|
def restore
|
||||||
return true unless File.exist?(@path_to_bundle)
|
return true unless File.exist?(@path_to_bundle)
|
||||||
|
|
||||||
gitlab_shell.import_repository(@project.repository_storage_path, @project.disk_path, @path_to_bundle)
|
repo_path = @project.repository.path_to_repo
|
||||||
|
git_clone_bundle(repo_path: repo_path, bundle_path: @path_to_bundle)
|
||||||
|
Gitlab::Git::Repository.create_hooks(repo_path, File.expand_path(Gitlab.config.gitlab_shell.hooks_path))
|
||||||
rescue => e
|
rescue => e
|
||||||
@shared.error(e)
|
@shared.error(e)
|
||||||
false
|
false
|
||||||
|
|
|
@ -102,6 +102,10 @@ module Gitlab
|
||||||
#
|
#
|
||||||
# Gitaly migration: https://gitlab.com/gitlab-org/gitaly/issues/387
|
# Gitaly migration: https://gitlab.com/gitlab-org/gitaly/issues/387
|
||||||
def import_repository(storage, name, url)
|
def import_repository(storage, name, url)
|
||||||
|
if url.start_with?('.') || url.start_with?('/')
|
||||||
|
raise Error.new("don't use disk paths with import_repository: #{url.inspect}")
|
||||||
|
end
|
||||||
|
|
||||||
# The timeout ensures the subprocess won't hang forever
|
# The timeout ensures the subprocess won't hang forever
|
||||||
cmd = gitlab_projects(storage, "#{name}.git")
|
cmd = gitlab_projects(storage, "#{name}.git")
|
||||||
success = cmd.import_project(url, git_timeout)
|
success = cmd.import_project(url, git_timeout)
|
||||||
|
|
Loading…
Reference in a new issue