summaryrefslogtreecommitdiff
path: root/app/models/merge_request.rb
diff options
context:
space:
mode:
authorOswaldo Ferreira <oswaldo@gitlab.com>2017-07-31 19:01:36 -0300
committerOswaldo Ferreira <oswaldo@gitlab.com>2017-08-07 15:23:37 -0300
commit0640b3d1d89b7a4eda343eb23b0518a835ac9106 (patch)
tree13970b43017ada593f08b70ca713dc19a1f064cf /app/models/merge_request.rb
parentb12107a0b953b566cd58db30ae880800a4a695a6 (diff)
downloadgitlab-ce-0640b3d1d89b7a4eda343eb23b0518a835ac9106.tar.gz
Store MergeWorker JID on merge request, and clean up stuck merges
Diffstat (limited to 'app/models/merge_request.rb')
-rw-r--r--app/models/merge_request.rb22
1 files changed, 6 insertions, 16 deletions
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index 8ca850b6d96..e0c779b4fbc 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -61,16 +61,6 @@ class MergeRequest < ActiveRecord::Base
transition locked: :opened
end
- after_transition any => :locked do |merge_request, transition|
- merge_request.locked_at = Time.now
- merge_request.save
- end
-
- after_transition locked: (any - :locked) do |merge_request, transition|
- merge_request.locked_at = nil
- merge_request.save
- end
-
state :opened
state :closed
state :merged
@@ -392,6 +382,12 @@ class MergeRequest < ActiveRecord::Base
'Source project is not a fork of the target project'
end
+ def merge_ongoing?
+ return false unless merge_jid
+
+ Gitlab::SidekiqStatus.num_running([merge_jid]) > 0
+ end
+
def closed_without_fork?
closed? && source_project_missing?
end
@@ -725,12 +721,6 @@ class MergeRequest < ActiveRecord::Base
end
end
- def locked_long_ago?
- return false unless locked?
-
- locked_at.nil? || locked_at < (Time.now - 1.day)
- end
-
def has_ci?
has_ci_integration = source_project.try(:ci_service)
uses_gitlab_ci = all_pipelines.any?