summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Lopez <james@jameslopez.es>2016-06-03 12:56:29 +0200
committerJames Lopez <james@jameslopez.es>2016-06-03 12:56:29 +0200
commit9d0038f2d7663419c34eda7675d15d1a40478947 (patch)
tree17ea0769c841f6dd111abd4e6c899bfb610b326c
parent398f0071a6b77a7e26e612b38105ae4bd702ef22 (diff)
downloadgitlab-ce-9d0038f2d7663419c34eda7675d15d1a40478947.tar.gz
started refactoring a bunch of stuff based on feedback
-rw-r--r--app/services/projects/import_export/export_service.rb33
-rw-r--r--lib/gitlab/import_export/import_export.yml2
-rw-r--r--lib/gitlab/import_export/repo_saver.rb (renamed from lib/gitlab/import_export/repo_bundler.rb)4
-rw-r--r--lib/gitlab/import_export/uploads_saver.rb4
-rw-r--r--lib/gitlab/import_export/version_saver.rb4
-rw-r--r--lib/gitlab/import_export/wiki_repo_saver.rb (renamed from lib/gitlab/import_export/wiki_repo_bundler.rb)4
-rw-r--r--spec/lib/gitlab/import_export/repo_bundler_spec.rb4
-rw-r--r--spec/lib/gitlab/import_export/wiki_repo_bundler_spec.rb4
8 files changed, 28 insertions, 31 deletions
diff --git a/app/services/projects/import_export/export_service.rb b/app/services/projects/import_export/export_service.rb
index 1a23a4ede97..25524c1c060 100644
--- a/app/services/projects/import_export/export_service.rb
+++ b/app/services/projects/import_export/export_service.rb
@@ -2,36 +2,39 @@ module Projects
module ImportExport
class ExportService < BaseService
- def execute(options = {})
+ def execute(_options = {})
@shared = Gitlab::ImportExport::Shared.new(relative_path: File.join(project.path_with_namespace, 'work'))
- save_all if [save_version, save_project_tree, save_uploads, bundle_repo, bundle_wiki_repo].all?
- cleanup_and_notify_worker if @shared.errors.any?
+ save_all
end
private
- def save_version
- Gitlab::ImportExport::VersionSaver.save(shared: @shared)
+ def save_all
+ if [version_saver, project_tree_saver, uploads_saver, repo_saver, wiki_repo_saver].all?(&:save)
+ Gitlab::ImportExport::Saver.save(shared: @shared)
+ else
+ cleanup_and_notify_worker
+ end
end
- def save_project_tree
- Gitlab::ImportExport::ProjectTreeSaver.new(project: project, shared: @shared).save
+ def version_saver
+ Gitlab::ImportExport::VersionSaver.new(shared: @shared)
end
- def save_uploads
- Gitlab::ImportExport::UploadsSaver.save(project: project, shared: @shared)
+ def project_tree_saver
+ Gitlab::ImportExport::ProjectTreeSaver.new(project: project, shared: @shared)
end
- def bundle_repo
- Gitlab::ImportExport::RepoBundler.new(project: project, shared: @shared).bundle
+ def uploads_saver
+ Gitlab::ImportExport::UploadsSaver.new(project: project, shared: @shared)
end
- def bundle_wiki_repo
- Gitlab::ImportExport::WikiRepoBundler.new(project: project, shared: @shared).bundle
+ def repo_saver
+ Gitlab::ImportExport::RepoSaver.new(project: project, shared: @shared)
end
- def save_all
- Gitlab::ImportExport::Saver.save(shared: @shared)
+ def wiki_repo_saver
+ Gitlab::ImportExport::WikiRepoSaver.new(project: project, shared: @shared)
end
def cleanup_and_notify_worker
diff --git a/lib/gitlab/import_export/import_export.yml b/lib/gitlab/import_export/import_export.yml
index eef4d92beee..a2b8ea24bcf 100644
--- a/lib/gitlab/import_export/import_export.yml
+++ b/lib/gitlab/import_export/import_export.yml
@@ -16,6 +16,8 @@ project_tree:
- :merge_request_diff
- ci_commits:
- :statuses
+ - notes:
+ :author
- :variables
- :triggers
- :deploy_keys
diff --git a/lib/gitlab/import_export/repo_bundler.rb b/lib/gitlab/import_export/repo_saver.rb
index f41d5af4e53..14174873625 100644
--- a/lib/gitlab/import_export/repo_bundler.rb
+++ b/lib/gitlab/import_export/repo_saver.rb
@@ -1,6 +1,6 @@
module Gitlab
module ImportExport
- class RepoBundler
+ class RepoSaver
include Gitlab::ImportExport::CommandLineUtil
attr_reader :full_path
@@ -10,7 +10,7 @@ module Gitlab
@shared = shared
end
- def bundle
+ def save
return false if @project.empty_repo?
@full_path = File.join(@shared.export_path, ImportExport.project_bundle_filename)
bundle_to_disk
diff --git a/lib/gitlab/import_export/uploads_saver.rb b/lib/gitlab/import_export/uploads_saver.rb
index 93bc626b363..7292e9d9712 100644
--- a/lib/gitlab/import_export/uploads_saver.rb
+++ b/lib/gitlab/import_export/uploads_saver.rb
@@ -2,10 +2,6 @@ module Gitlab
module ImportExport
class UploadsSaver
- def self.save(*args)
- new(*args).save
- end
-
def initialize(project:, shared:)
@project = project
@shared = shared
diff --git a/lib/gitlab/import_export/version_saver.rb b/lib/gitlab/import_export/version_saver.rb
index 904645f273e..4706f929476 100644
--- a/lib/gitlab/import_export/version_saver.rb
+++ b/lib/gitlab/import_export/version_saver.rb
@@ -2,10 +2,6 @@ module Gitlab
module ImportExport
class VersionSaver
- def self.save(*args)
- new(*args).save
- end
-
def initialize(shared:)
@shared = shared
end
diff --git a/lib/gitlab/import_export/wiki_repo_bundler.rb b/lib/gitlab/import_export/wiki_repo_saver.rb
index 016c640ae15..e4294d75bf5 100644
--- a/lib/gitlab/import_export/wiki_repo_bundler.rb
+++ b/lib/gitlab/import_export/wiki_repo_saver.rb
@@ -1,7 +1,7 @@
module Gitlab
module ImportExport
- class WikiRepoBundler < RepoBundler
- def bundle
+ class WikiRepoSaver < RepoSaver
+ 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))
diff --git a/spec/lib/gitlab/import_export/repo_bundler_spec.rb b/spec/lib/gitlab/import_export/repo_bundler_spec.rb
index fa926bab823..590a9a7e1a5 100644
--- a/spec/lib/gitlab/import_export/repo_bundler_spec.rb
+++ b/spec/lib/gitlab/import_export/repo_bundler_spec.rb
@@ -1,6 +1,6 @@
require 'spec_helper'
-describe Gitlab::ImportExport::RepoBundler, services: true do
+describe Gitlab::ImportExport::RepoSaver, services: true do
describe 'bundle a project Git repo' do
let(:user) { create(:user) }
@@ -19,7 +19,7 @@ describe Gitlab::ImportExport::RepoBundler, services: true do
end
it 'bundles the repo successfully' do
- expect(bundler.bundle).to be true
+ expect(bundler.save).to be true
end
end
end
diff --git a/spec/lib/gitlab/import_export/wiki_repo_bundler_spec.rb b/spec/lib/gitlab/import_export/wiki_repo_bundler_spec.rb
index 60a0145c1a0..b9ffc8694a5 100644
--- a/spec/lib/gitlab/import_export/wiki_repo_bundler_spec.rb
+++ b/spec/lib/gitlab/import_export/wiki_repo_bundler_spec.rb
@@ -1,6 +1,6 @@
require 'spec_helper'
-describe Gitlab::ImportExport::WikiRepoBundler, services: true do
+describe Gitlab::ImportExport::WikiRepoSaver, services: true do
describe 'bundle a wiki Git repo' do
let(:user) { create(:user) }
@@ -22,7 +22,7 @@ describe Gitlab::ImportExport::WikiRepoBundler, services: true do
end
it 'bundles the repo successfully' do
- expect(wiki_bundler.bundle).to be true
+ expect(wiki_bundler.save).to be true
end
end
end