diff options
author | Valery Sizov <valery@gitlab.com> | 2018-02-12 18:38:10 +0300 |
---|---|---|
committer | Nick Thomas <nick@gitlab.com> | 2018-02-12 18:38:10 +0300 |
commit | c6fa8c3fbaab2d7bcde5cecead129b085d5a2dae (patch) | |
tree | 68aa6e501b0fe9a21a7f427b44201fd9e86d6a82 /lib | |
parent | 74c4d35250c09cf3cdcf659d51c83bc7ba83df92 (diff) |
Create an empty wiki when there is no wiki in the gitlab export bundle
Diffstat (limited to 'lib')
-rw-r--r-- | lib/gitlab/import_export/importer.rb | 5 | ||||
-rw-r--r-- | lib/gitlab/import_export/wiki_restorer.rb | 23 |
2 files changed, 26 insertions, 2 deletions
diff --git a/lib/gitlab/import_export/importer.rb b/lib/gitlab/import_export/importer.rb index c14646b0611..a00795f553e 100644 --- a/lib/gitlab/import_export/importer.rb +++ b/lib/gitlab/import_export/importer.rb @@ -50,9 +50,10 @@ module Gitlab end def wiki_restorer - Gitlab::ImportExport::RepoRestorer.new(path_to_bundle: wiki_repo_path, + Gitlab::ImportExport::WikiRestorer.new(path_to_bundle: wiki_repo_path, shared: @shared, - project: ProjectWiki.new(project_tree.restored_project)) + project: ProjectWiki.new(project_tree.restored_project), + wiki_enabled: @project.wiki_enabled?) end def uploads_restorer diff --git a/lib/gitlab/import_export/wiki_restorer.rb b/lib/gitlab/import_export/wiki_restorer.rb new file mode 100644 index 00000000000..f33bfb332ab --- /dev/null +++ b/lib/gitlab/import_export/wiki_restorer.rb @@ -0,0 +1,23 @@ +module Gitlab + module ImportExport + class WikiRestorer < RepoRestorer + def initialize(project:, shared:, path_to_bundle:, wiki_enabled:) + super(project: project, shared: shared, path_to_bundle: path_to_bundle) + + @wiki_enabled = wiki_enabled + end + + def restore + @project.wiki if create_empty_wiki? + + super + end + + private + + def create_empty_wiki? + !File.exist?(@path_to_bundle) && @wiki_enabled + end + end + end +end |