diff options
author | Oswaldo Ferreira <oswaldo@gitlab.com> | 2017-07-31 19:01:36 -0300 |
---|---|---|
committer | Oswaldo Ferreira <oswaldo@gitlab.com> | 2017-08-07 15:23:37 -0300 |
commit | 0640b3d1d89b7a4eda343eb23b0518a835ac9106 (patch) | |
tree | 13970b43017ada593f08b70ca713dc19a1f064cf /app/models/merge_request.rb | |
parent | b12107a0b953b566cd58db30ae880800a4a695a6 (diff) | |
download | gitlab-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.rb | 22 |
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? |