Files
gitlab-foss/lib/backup/tasks/repositories.rb
2025-04-30 00:12:17 +00:00

49 lines
1.2 KiB
Ruby

# frozen_string_literal: true
module Backup
module Tasks
class Repositories < Task
attr_reader :server_side_callable
def self.id = 'repositories'
def initialize(progress:, options:, server_side_callable:)
@server_side_callable = server_side_callable
super(progress: progress, options: options)
end
def human_name
return _('repositories') unless @options.repositories_server_side_backup
_('repositories (Gitaly server-side)')
end
def destination_path = 'repositories'
def destination_optional = true
private
def target
return @target if @target
strategy = Backup::GitalyBackup.new(progress,
incremental: options.incremental?,
max_parallelism: options.max_parallelism,
storage_parallelism: options.max_storage_parallelism,
server_side: server_side_callable.call
)
@target = ::Backup::Targets::Repositories.new(progress,
strategy: strategy,
options: options,
storages: options.repositories_storages,
paths: options.repositories_paths,
skip_paths: options.skip_repositories_paths
)
end
end
end
end