diff options
Diffstat (limited to 'db/fixtures/development/12_snippets.rb')
-rw-r--r-- | db/fixtures/development/12_snippets.rb | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/db/fixtures/development/12_snippets.rb b/db/fixtures/development/12_snippets.rb index 8ceabcdcd9b..6d31007b320 100644 --- a/db/fixtures/development/12_snippets.rb +++ b/db/fixtures/development/12_snippets.rb @@ -1,6 +1,28 @@ require './spec/support/sidekiq_middleware' SNIPPET_REPO_URL = "https://gitlab.com/gitlab-org/gitlab-snippet-test.git" +BUNDLE_PATH = File.join(Rails.root, 'db/fixtures/development/gitlab-snippet-test.bundle') + +class Gitlab::Seeder::SnippetRepository + def initialize(snippet) + @snippet = snippet + end + + def import + if File.exists?(BUNDLE_PATH) + @snippet.repository.create_from_bundle(BUNDLE_PATH) + else + @snippet.repository.import_repository(SNIPPET_REPO_URL) + @snippet.repository.bundle_to_disk(BUNDLE_PATH) + end + end + + def self.cleanup + File.delete(BUNDLE_PATH) if File.exists?(BUNDLE_PATH) + rescue => e + warn "\nError cleaning up snippet bundle: #{e}" + end +end Gitlab::Seeder.quiet do 20.times do |i| @@ -14,7 +36,7 @@ Gitlab::Seeder.quiet do content: 'foo' }).tap do |snippet| unless snippet.repository_exists? - snippet.repository.import_repository(SNIPPET_REPO_URL) + Gitlab::Seeder::SnippetRepository.new(snippet).import end snippet.track_snippet_repository(snippet.repository.storage) @@ -23,5 +45,7 @@ Gitlab::Seeder.quiet do print('.') end + + Gitlab::Seeder::SnippetRepository.cleanup end |