Class: BulkImports::Projects::Pipelines::RepositoryPipeline
- Inherits:
-
Object
- Object
- BulkImports::Projects::Pipelines::RepositoryPipeline
- Includes:
- BulkImports::Pipeline
- Defined in:
- lib/bulk_imports/projects/pipelines/repository_pipeline.rb
Constant Summary
Constants included from BulkImports::Pipeline
BulkImports::Pipeline::CACHE_KEY_EXPIRATION, BulkImports::Pipeline::EMPTY_EXPORT_STATUS_TIMEOUT, BulkImports::Pipeline::ExpiredError, BulkImports::Pipeline::FailedError, BulkImports::Pipeline::NDJSON_EXPORT_TIMEOUT, BulkImports::Pipeline::NotAllowedError
Constants included from BulkImports::Pipeline::Runner
BulkImports::Pipeline::Runner::MarkedAsFailedError
Instance Method Summary collapse
-
#after_run(_) ⇒ Object
The initial fetch can bring in lots of loose refs and objects.
- #load(context, data) ⇒ Object
- #transform(_, data) ⇒ Object
Methods included from BulkImports::Pipeline
#current_user, #import_export_config, #initialize, #portable, #tracker
Methods included from BulkImports::Pipeline::Runner
Instance Method Details
#after_run(_) ⇒ Object
The initial fetch can bring in lots of loose refs and objects. Running a ‘git gc` will make importing merge requests faster.
32 33 34 |
# File 'lib/bulk_imports/projects/pipelines/repository_pipeline.rb', line 32 def after_run(_) ::Repositories::HousekeepingService.new(context.portable, :gc).execute end |
#load(context, data) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/bulk_imports/projects/pipelines/repository_pipeline.rb', line 17 def load(context, data) url = data['httpUrlToRepo'] return unless url.present? url = url.sub("://", "://oauth2:#{context.configuration.access_token}@") project = context.portable Gitlab::UrlBlocker.validate!(url, schemes: %w[http https], allow_local_network: allow_local_requests?, allow_localhost: allow_local_requests?) project.ensure_repository project.repository.fetch_as_mirror(url) end |
#transform(_, data) ⇒ Object
13 14 15 |
# File 'lib/bulk_imports/projects/pipelines/repository_pipeline.rb', line 13 def transform(_, data) data.slice('httpUrlToRepo') end |