gitlab-org--gitlab-foss/lib/gitlab/import_export/wiki_repo_saver.rb

35 lines
798 B
Ruby
Raw Normal View History

module Gitlab
2016-03-08 17:17:57 +00:00
module ImportExport
class WikiRepoSaver < RepoSaver
def save
2016-03-08 17:17:57 +00:00
@wiki = ProjectWiki.new(@project)
2016-05-16 08:13:00 +00:00
return true unless wiki_repository_exists? # it's okay to have no Wiki
2016-07-18 09:02:07 +00:00
2016-05-16 08:13:00 +00:00
bundle_to_disk(File.join(@shared.export_path, project_filename))
2016-03-08 17:17:57 +00:00
end
2016-05-16 08:13:00 +00:00
def bundle_to_disk(full_path)
mkdir_p(@shared.export_path)
2016-05-16 08:13:00 +00:00
git_bundle(repo_path: path_to_repo, bundle_path: full_path)
rescue => e
@shared.error(e)
2016-03-08 17:17:57 +00:00
false
end
private
2016-03-09 09:35:38 +00:00
def project_filename
"project.wiki.bundle"
2016-03-09 09:35:38 +00:00
end
2016-03-08 17:17:57 +00:00
def path_to_repo
@wiki.repository.path_to_repo
end
2016-05-16 08:13:00 +00:00
def wiki_repository_exists?
2016-06-13 11:42:30 +00:00
File.exist?(@wiki.repository.path_to_repo) && !@wiki.repository.empty?
2016-03-08 17:17:57 +00:00
end
end
end
end