Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2018-12-13 14:06:20 +0300
committerDouwe Maan <douwe@gitlab.com>2018-12-13 14:06:20 +0300
commitfc897f0860103522db9c6c316156064f1c78b01d (patch)
treec906b1ca7e5c95add9e55ba5232b62cda7ee6b3a /lib
parent42f45ed2d93baa5b2b2f2c51f5bd8527acf1df95 (diff)
parent89a407dc3bea38b60e06eb825991cbea0c87b85a (diff)
Merge branch 'zj-backup-restore-object-pools' into 'master'
Restore Object Pools when restoring an object pool Closes gitaly#1355 See merge request gitlab-org/gitlab-ce!23682
Diffstat (limited to 'lib')
-rw-r--r--lib/backup/repository.rb16
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/backup/repository.rb b/lib/backup/repository.rb
index c8a5377bfa0..184c7418e75 100644
--- a/lib/backup/repository.rb
+++ b/lib/backup/repository.rb
@@ -4,6 +4,7 @@ require 'yaml'
module Backup
class Repository
+ include Gitlab::ShellAdapter
attr_reader :progress
def initialize(progress)
@@ -75,7 +76,6 @@ module Backup
def restore
prepare_directories
- gitlab_shell = Gitlab::Shell.new
Project.find_each(batch_size: 1000) do |project|
progress.print " * #{project.full_path} ... "
@@ -118,6 +118,8 @@ module Backup
end
end
end
+
+ restore_object_pools
end
protected
@@ -159,5 +161,17 @@ module Backup
def display_repo_path(project)
project.hashed_storage?(:repository) ? "#{project.full_path} (#{project.disk_path})" : project.full_path
end
+
+ def restore_object_pools
+ PoolRepository.includes(:source_project).find_each do |pool|
+ progress.puts " - Object pool #{pool.disk_path}..."
+
+ pool.source_project ||= pool.member_projects.first.root_of_fork_network
+ pool.state = 'none'
+ pool.save
+
+ pool.schedule
+ end
+ end
end
end