Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-04-06 15:10:44 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-04-06 15:10:44 +0300
commitba174c982f40d71a87fd511b091753807174f7e7 (patch)
treeb89d55c715288f2c2f76724c1b7ff4a6ebf90154 /app
parenteaea945e0355826c58c3dcf887496ea91064f85c (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app')
-rw-r--r--app/models/concerns/import_state/sidekiq_job_tracker.rb23
-rw-r--r--app/models/jira_import_state.rb11
-rw-r--r--app/models/merge_request.rb2
-rw-r--r--app/models/project_import_state.rb15
-rw-r--r--app/policies/snippet_policy.rb4
-rw-r--r--app/services/projects/hashed_storage/base_repository_service.rb8
-rw-r--r--app/services/projects/hashed_storage/rollback_service.rb6
7 files changed, 39 insertions, 30 deletions
diff --git a/app/models/concerns/import_state/sidekiq_job_tracker.rb b/app/models/concerns/import_state/sidekiq_job_tracker.rb
new file mode 100644
index 00000000000..6bb07b7c06a
--- /dev/null
+++ b/app/models/concerns/import_state/sidekiq_job_tracker.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+module ImportState
+ module SidekiqJobTracker
+ extend ActiveSupport::Concern
+
+ included do
+ # Refreshes the expiration time of the associated import job ID.
+ #
+ # This method can be used by asynchronous importers to refresh the status,
+ # preventing the StuckImportJobsWorker from marking the import as failed.
+ def refresh_jid_expiration
+ return unless jid
+
+ Gitlab::SidekiqStatus.set(jid, StuckImportJobsWorker::IMPORT_JOBS_EXPIRATION)
+ end
+
+ def self.jid_by(project_id:, status:)
+ select(:jid).with_status(status).find_by(project_id: project_id)
+ end
+ end
+ end
+end
diff --git a/app/models/jira_import_state.rb b/app/models/jira_import_state.rb
index 0c138d674ea..713feec013f 100644
--- a/app/models/jira_import_state.rb
+++ b/app/models/jira_import_state.rb
@@ -2,6 +2,7 @@
class JiraImportState < ApplicationRecord
include AfterCommitQueue
+ include ImportState::SidekiqJobTracker
self.table_name = 'jira_imports'
@@ -66,14 +67,4 @@ class JiraImportState < ApplicationRecord
def in_progress?
scheduled? || started?
end
-
- def refresh_jid_expiration
- return unless jid
-
- Gitlab::SidekiqStatus.set(jid, StuckImportJobsWorker::IMPORT_JOBS_EXPIRATION)
- end
-
- def self.jid_by(project_id:, status:)
- select(:jid).with_status(status).find_by(project_id: project_id)
- end
end
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index 7934b0f8f59..2edb1a45100 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -1290,7 +1290,7 @@ class MergeRequest < ApplicationRecord
variables.append(key: 'CI_MERGE_REQUEST_PROJECT_URL', value: project.web_url)
variables.append(key: 'CI_MERGE_REQUEST_TARGET_BRANCH_NAME', value: target_branch.to_s)
variables.append(key: 'CI_MERGE_REQUEST_TITLE', value: title)
- variables.append(key: 'CI_MERGE_REQUEST_ASSIGNEES', value: assignee_username_list) if assignees.any?
+ variables.append(key: 'CI_MERGE_REQUEST_ASSIGNEES', value: assignee_username_list) if assignees.present?
variables.append(key: 'CI_MERGE_REQUEST_MILESTONE', value: milestone.title) if milestone
variables.append(key: 'CI_MERGE_REQUEST_LABELS', value: label_names.join(',')) if labels.present?
variables.concat(source_project_variables)
diff --git a/app/models/project_import_state.rb b/app/models/project_import_state.rb
index cdb034e58fa..52fd23aefd5 100644
--- a/app/models/project_import_state.rb
+++ b/app/models/project_import_state.rb
@@ -2,6 +2,7 @@
class ProjectImportState < ApplicationRecord
include AfterCommitQueue
+ include ImportState::SidekiqJobTracker
self.table_name = "project_mirror_data"
@@ -88,20 +89,6 @@ class ProjectImportState < ApplicationRecord
# import? does SQL work so only run it if it looks like there's an import running
status == 'started' && project.import?
end
-
- # Refreshes the expiration time of the associated import job ID.
- #
- # This method can be used by asynchronous importers to refresh the status,
- # preventing the StuckImportJobsWorker from marking the import as failed.
- def refresh_jid_expiration
- return unless jid
-
- Gitlab::SidekiqStatus.set(jid, StuckImportJobsWorker::IMPORT_JOBS_EXPIRATION)
- end
-
- def self.jid_by(project_id:, status:)
- select(:jid).with_status(status).find_by(project_id: project_id)
- end
end
ProjectImportState.prepend_if_ee('EE::ProjectImportState')
diff --git a/app/policies/snippet_policy.rb b/app/policies/snippet_policy.rb
deleted file mode 100644
index 64c56e8091d..00000000000
--- a/app/policies/snippet_policy.rb
+++ /dev/null
@@ -1,4 +0,0 @@
-# frozen_string_literal: true
-
-class SnippetPolicy < PersonalSnippetPolicy
-end
diff --git a/app/services/projects/hashed_storage/base_repository_service.rb b/app/services/projects/hashed_storage/base_repository_service.rb
index 09de8d9f0da..d81aa4de9f1 100644
--- a/app/services/projects/hashed_storage/base_repository_service.rb
+++ b/app/services/projects/hashed_storage/base_repository_service.rb
@@ -40,7 +40,13 @@ module Projects
return true
end
- gitlab_shell.mv_repository(project.repository_storage, from_name, to_name)
+ gitlab_shell.mv_repository(project.repository_storage, from_name, to_name).tap do |moved|
+ if moved
+ logger.info("Repository moved from '#{from_name}' to '#{to_name}' (PROJECT_ID=#{project.id})")
+ else
+ logger.error("Repository cannot be moved from '#{from_name}' to '#{to_name}' (PROJECT_ID=#{project.id})")
+ end
+ end
end
def move_repositories
diff --git a/app/services/projects/hashed_storage/rollback_service.rb b/app/services/projects/hashed_storage/rollback_service.rb
index c437001c440..01b343a12d1 100644
--- a/app/services/projects/hashed_storage/rollback_service.rb
+++ b/app/services/projects/hashed_storage/rollback_service.rb
@@ -5,6 +5,12 @@ module Projects
class RollbackService < BaseService
attr_reader :logger, :old_disk_path
+ def initialize(project, old_disk_path, logger: nil)
+ @project = project
+ @old_disk_path = old_disk_path
+ @logger = logger || Gitlab::AppLogger
+ end
+
def execute
# Rollback attachments from Hashed Storage to Legacy
if project.hashed_storage?(:attachments)