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
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/checks/post_push_message.rb')
-rw-r--r--lib/gitlab/checks/post_push_message.rb23
1 files changed, 17 insertions, 6 deletions
diff --git a/lib/gitlab/checks/post_push_message.rb b/lib/gitlab/checks/post_push_message.rb
index 0d93e7ac8a1..09407f45e54 100644
--- a/lib/gitlab/checks/post_push_message.rb
+++ b/lib/gitlab/checks/post_push_message.rb
@@ -9,21 +9,32 @@ module Gitlab
@protocol = protocol
end
- def self.fetch_message(user_id, project_id)
- key = message_key(user_id, project_id)
+ def self.fetch_message(user, repository)
+ key = message_key(user, repository)
+
+ # Also check for messages in the legacy key
+ # TODO: Remove in the next release
+ # https://gitlab.com/gitlab-org/gitlab/-/issues/292030
+ legacy_key = legacy_message_key(user, repository) if respond_to?(:legacy_message_key)
Gitlab::Redis::SharedState.with do |redis|
message = redis.get(key)
redis.del(key)
- message
+
+ if legacy_key
+ legacy_message = redis.get(legacy_key)
+ redis.del(legacy_key)
+ end
+
+ legacy_message || message
end
end
def add_message
- return unless user.present? && project.present?
+ return unless user && repository
Gitlab::Redis::SharedState.with do |redis|
- key = self.class.message_key(user.id, project.id)
+ key = self.class.message_key(user, repository)
redis.setex(key, 5.minutes, message)
end
end
@@ -39,7 +50,7 @@ module Gitlab
delegate :project, to: :repository, allow_nil: true
delegate :container, to: :repository, allow_nil: false
- def self.message_key(user_id, project_id)
+ def self.message_key(user, repository)
raise NotImplementedError
end