mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-29 06:26:07 +10:00
Squashed commit of the following:
commit92de6309e1Merge:6c082ed30f4dcdAuthor: James Lopez <james@jameslopez.es> Date: Thu May 19 13:06:34 2016 +0200 Merge branches 'feature/project-export' and 'feature/project-import' of gitlab.com:gitlab-org/gitlab-ce into feature/project-import commit30f4dcd4c9Author: James Lopez <james@jameslopez.es> Date: Thu May 19 13:02:57 2016 +0200 uploads export
This commit is contained in:
@@ -4,7 +4,7 @@ module Projects
|
||||
|
||||
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, bundle_repo, bundle_wiki_repo].all?
|
||||
save_all if [save_version, save_project_tree, save_uploads, bundle_repo, bundle_wiki_repo].all?
|
||||
cleanup_and_notify_worker if @shared.errors.any?
|
||||
end
|
||||
|
||||
@@ -18,6 +18,10 @@ module Projects
|
||||
Gitlab::ImportExport::ProjectTreeSaver.new(project: project, shared: @shared).save
|
||||
end
|
||||
|
||||
def save_uploads
|
||||
Gitlab::ImportExport::UploadsSaver.save(project: project, shared: @shared)
|
||||
end
|
||||
|
||||
def bundle_repo
|
||||
Gitlab::ImportExport::RepoBundler.new(project: project, shared: @shared).bundle
|
||||
end
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
module Gitlab
|
||||
module ImportExport
|
||||
class UploadsSaver
|
||||
|
||||
def self.save(*args)
|
||||
new(*args).save
|
||||
end
|
||||
|
||||
def initialize(project:, shared:)
|
||||
@project = project
|
||||
@shared = shared
|
||||
end
|
||||
|
||||
def save
|
||||
return true unless File.directory?(uploads_path)
|
||||
|
||||
FileUtils.copy_entry(uploads_path, uploads_export_path)
|
||||
true
|
||||
rescue => e
|
||||
@shared.error(e.message)
|
||||
false
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def uploads_export_path
|
||||
File.join(@shared.export_path, 'uploads')
|
||||
end
|
||||
|
||||
def uploads_path
|
||||
File.join(Rails.root.join('public/uploads'), project.path_with_namespace)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user