diff options
Diffstat (limited to 'app/models/remote_mirror.rb')
-rw-r--r-- | app/models/remote_mirror.rb | 52 |
1 files changed, 2 insertions, 50 deletions
diff --git a/app/models/remote_mirror.rb b/app/models/remote_mirror.rb index a700f104150..7f41f0907d5 100644 --- a/app/models/remote_mirror.rb +++ b/app/models/remote_mirror.rb @@ -22,14 +22,9 @@ class RemoteMirror < ApplicationRecord validates :url, presence: true, public_url: { schemes: %w(ssh git http https), allow_blank: true, enforce_user: true } - before_save :set_new_remote_name, if: :mirror_url_changed? - after_save :set_override_remote_mirror_available, unless: -> { Gitlab::CurrentSettings.current_application_settings.mirror_available } - after_save :refresh_remote, if: :saved_change_to_mirror_url? after_update :reset_fields, if: :saved_change_to_mirror_url? - after_commit :remove_remote, on: :destroy - before_validation :store_credentials scope :enabled, -> { where(enabled: true) } @@ -88,10 +83,6 @@ class RemoteMirror < ApplicationRecord end end - def remote_name - super || fallback_remote_name - end - def update_failed? update_status == 'failed' end @@ -100,11 +91,10 @@ class RemoteMirror < ApplicationRecord update_status == 'started' end - def update_repository(inmemory_remote:) + def update_repository Gitlab::Git::RemoteMirror.new( project.repository.raw, - remote_name, - inmemory_remote ? remote_url : nil, + remote_url, **options_for_update ).update end @@ -227,15 +217,6 @@ class RemoteMirror < ApplicationRecord Gitlab::UrlSanitizer.new(read_attribute(:url)).full_url end - def ensure_remote! - return unless project - return unless remote_name && remote_url - - # If this fails or the remote already exists, we won't know due to - # https://gitlab.com/gitlab-org/gitaly/issues/1317 - project.repository.add_remote(remote_name, remote_url) - end - def after_sent_notification update_column(:error_notification_sent, true) end @@ -280,12 +261,6 @@ class RemoteMirror < ApplicationRecord super end - def fallback_remote_name - return unless id - - "remote_mirror_#{id}" - end - def recently_scheduled? return false unless self.last_update_started_at @@ -308,29 +283,6 @@ class RemoteMirror < ApplicationRecord project.update(remote_mirror_available_overridden: enabled) end - def set_new_remote_name - self.remote_name = "remote_mirror_#{SecureRandom.hex}" - end - - def refresh_remote - return unless project - - # Before adding a new remote we have to delete the data from - # the previous remote name - prev_remote_name = remote_name_before_last_save || fallback_remote_name - run_after_commit do - project.repository.async_remove_remote(prev_remote_name) - end - - project.repository.add_remote(remote_name, remote_url) - end - - def remove_remote - return unless project # could be pending to delete so don't need to touch the git repository - - project.repository.async_remove_remote(remote_name) - end - def mirror_url_changed? url_changed? || attribute_changed?(:credentials) end |