diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/api/projects.rb | 1 | ||||
-rw-r--r-- | lib/gitlab/background_migration.rb | 31 | ||||
-rw-r--r-- | lib/gitlab/background_migration/.gitkeep | 0 | ||||
-rw-r--r-- | lib/gitlab/ee_compat_check.rb | 10 |
4 files changed, 35 insertions, 7 deletions
diff --git a/lib/api/projects.rb b/lib/api/projects.rb index 56046742e08..50d34e8a738 100644 --- a/lib/api/projects.rb +++ b/lib/api/projects.rb @@ -22,6 +22,7 @@ module API optional :only_allow_merge_if_pipeline_succeeds, type: Boolean, desc: 'Only allow to merge if builds succeed' optional :only_allow_merge_if_all_discussions_are_resolved, type: Boolean, desc: 'Only allow to merge if all discussions are resolved' optional :tag_list, type: Array[String], desc: 'The list of tags for a project' + optional :avatar, type: File, desc: 'Avatar image for project' end params :optional_params do diff --git a/lib/gitlab/background_migration.rb b/lib/gitlab/background_migration.rb new file mode 100644 index 00000000000..914a3b72abd --- /dev/null +++ b/lib/gitlab/background_migration.rb @@ -0,0 +1,31 @@ +module Gitlab + module BackgroundMigration + # Begins stealing jobs from the background migrations queue, blocking the + # caller until all jobs have been completed. + # + # steal_class - The name of the class for which to steal jobs. + def self.steal(steal_class) + queue = Sidekiq::Queue. + new(BackgroundMigrationWorker.sidekiq_options['queue']) + + queue.each do |job| + migration_class, migration_args = job.args + + next unless migration_class == steal_class + + perform(migration_class, migration_args) + + job.delete + end + end + + # class_name - The name of the background migration class as defined in the + # Gitlab::BackgroundMigration namespace. + # + # arguments - The arguments to pass to the background migration's "perform" + # method. + def self.perform(class_name, arguments) + const_get(class_name).new.perform(*arguments) + end + end +end diff --git a/lib/gitlab/background_migration/.gitkeep b/lib/gitlab/background_migration/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/lib/gitlab/background_migration/.gitkeep diff --git a/lib/gitlab/ee_compat_check.rb b/lib/gitlab/ee_compat_check.rb index 38e27513281..6d326ee213a 100644 --- a/lib/gitlab/ee_compat_check.rb +++ b/lib/gitlab/ee_compat_check.rb @@ -76,13 +76,9 @@ module Gitlab step( "Generating the patch against origin/master in #{patch_path}", - %w[git format-patch origin/master --stdout] + %W[git diff --binary origin/master > #{patch_path}] ) do |output, status| - throw(:halt_check, :ko) unless status.zero? - - File.write(patch_path, output) - - throw(:halt_check, :ko) unless File.exist?(patch_path) + throw(:halt_check, :ko) unless status.zero? && File.exist?(patch_path) end end @@ -296,7 +292,7 @@ module Gitlab # In the CE repo $ git fetch origin master - $ git format-patch origin/master --stdout > #{ce_branch}.patch + $ git diff --binary origin/master > #{ce_branch}.patch # In the EE repo $ git fetch origin master |