From 60a2b3eff2b91ae8db6eac4df95059c5fcd3eb31 Mon Sep 17 00:00:00 2001
From: James Lopez <james@jameslopez.es>
Date: Mon, 18 Jul 2016 11:02:07 +0200
Subject: [PATCH] allow empty repos on import/export

---
 lib/gitlab/import_export/importer.rb        | 3 +--
 lib/gitlab/import_export/repo_restorer.rb   | 9 ++-------
 lib/gitlab/import_export/repo_saver.rb      | 2 +-
 lib/gitlab/import_export/wiki_repo_saver.rb | 1 +
 4 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/lib/gitlab/import_export/importer.rb b/lib/gitlab/import_export/importer.rb
index 8f66f48cbfe..6b69a653f12 100644
--- a/lib/gitlab/import_export/importer.rb
+++ b/lib/gitlab/import_export/importer.rb
@@ -44,8 +44,7 @@ module Gitlab
       def wiki_restorer
         Gitlab::ImportExport::RepoRestorer.new(path_to_bundle: wiki_repo_path,
                                                shared: @shared,
-                                               project: ProjectWiki.new(project_tree.restored_project),
-                                               wiki: true)
+                                               project: ProjectWiki.new(project_tree.restored_project))
       end
 
       def uploads_restorer
diff --git a/lib/gitlab/import_export/repo_restorer.rb b/lib/gitlab/import_export/repo_restorer.rb
index 546dae4d122..f84de652a57 100644
--- a/lib/gitlab/import_export/repo_restorer.rb
+++ b/lib/gitlab/import_export/repo_restorer.rb
@@ -3,15 +3,14 @@ module Gitlab
     class RepoRestorer
       include Gitlab::ImportExport::CommandLineUtil
 
-      def initialize(project:, shared:, path_to_bundle:, wiki: false)
+      def initialize(project:, shared:, path_to_bundle:)
         @project = project
         @path_to_bundle = path_to_bundle
         @shared = shared
-        @wiki = wiki
       end
 
       def restore
-        return wiki? unless File.exist?(@path_to_bundle)
+        return true unless File.exist?(@path_to_bundle)
 
         FileUtils.mkdir_p(path_to_repo)
 
@@ -30,10 +29,6 @@ module Gitlab
       def path_to_repo
         @project.repository.path_to_repo
       end
-
-      def wiki?
-        @wiki
-      end
     end
   end
 end
diff --git a/lib/gitlab/import_export/repo_saver.rb b/lib/gitlab/import_export/repo_saver.rb
index cce43fe994b..331e14021e6 100644
--- a/lib/gitlab/import_export/repo_saver.rb
+++ b/lib/gitlab/import_export/repo_saver.rb
@@ -11,7 +11,7 @@ module Gitlab
       end
 
       def save
-        return false if @project.empty_repo?
+        return true if @project.empty_repo? # it's ok to have no repo
 
         @full_path = File.join(@shared.export_path, ImportExport.project_bundle_filename)
         bundle_to_disk
diff --git a/lib/gitlab/import_export/wiki_repo_saver.rb b/lib/gitlab/import_export/wiki_repo_saver.rb
index 1eedae39f8a..6107420e4dd 100644
--- a/lib/gitlab/import_export/wiki_repo_saver.rb
+++ b/lib/gitlab/import_export/wiki_repo_saver.rb
@@ -4,6 +4,7 @@ module Gitlab
       def save
         @wiki = ProjectWiki.new(@project)
         return true unless wiki_repository_exists? # it's okay to have no Wiki
+
         bundle_to_disk(File.join(@shared.export_path, project_filename))
       end
 
-- 
GitLab