diff options
author | Douwe Maan <douwe@gitlab.com> | 2018-12-13 14:06:20 +0300 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2018-12-13 14:06:20 +0300 |
commit | fc897f0860103522db9c6c316156064f1c78b01d (patch) | |
tree | c906b1ca7e5c95add9e55ba5232b62cda7ee6b3a /lib | |
parent | 42f45ed2d93baa5b2b2f2c51f5bd8527acf1df95 (diff) | |
parent | 89a407dc3bea38b60e06eb825991cbea0c87b85a (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.rb | 16 |
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 |