diff options
author | James Lopez <james@jameslopez.es> | 2016-06-03 12:56:29 +0200 |
---|---|---|
committer | James Lopez <james@jameslopez.es> | 2016-06-03 12:56:29 +0200 |
commit | 9d0038f2d7663419c34eda7675d15d1a40478947 (patch) | |
tree | 17ea0769c841f6dd111abd4e6c899bfb610b326c | |
parent | 398f0071a6b77a7e26e612b38105ae4bd702ef22 (diff) | |
download | gitlab-ce-9d0038f2d7663419c34eda7675d15d1a40478947.tar.gz |
started refactoring a bunch of stuff based on feedback
-rw-r--r-- | app/services/projects/import_export/export_service.rb | 33 | ||||
-rw-r--r-- | lib/gitlab/import_export/import_export.yml | 2 | ||||
-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.rb | 4 | ||||
-rw-r--r-- | lib/gitlab/import_export/version_saver.rb | 4 | ||||
-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.rb | 4 | ||||
-rw-r--r-- | spec/lib/gitlab/import_export/wiki_repo_bundler_spec.rb | 4 |
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 |