summaryrefslogtreecommitdiff
path: root/app/models/merge_request.rb
diff options
context:
space:
mode:
authorOswaldo Ferreira <oswaldo@gitlab.com>2017-10-27 22:11:21 +0200
committerOswaldo Ferreira <oswaldo@gitlab.com>2017-10-27 22:33:48 +0200
commita6c52c4e593850eb270e5bfbd021cdfb56e6eed6 (patch)
tree78a94e69c450dc157176102f119e1396a6523a18 /app/models/merge_request.rb
parentdfd6c3f824ada5558546b809fd32468325788b94 (diff)
downloadgitlab-ce-a6c52c4e593850eb270e5bfbd021cdfb56e6eed6.tar.gz
Make merge_jid handling less stateful in MergeService
Diffstat (limited to 'app/models/merge_request.rb')
-rw-r--r--app/models/merge_request.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index c3fae16d109..c952ab862d7 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -396,7 +396,9 @@ class MergeRequest < ActiveRecord::Base
end
def merge_ongoing?
- !!merge_jid && !merged? && Gitlab::SidekiqStatus.running?(merge_jid)
+ # While the MergeRequest is locked, it should present itself as 'merge ongoing'.
+ # The unlocking process is handled by StuckMergeJobsWorker scheduled in Cron.
+ locked? || !!merge_jid && !merged? && Gitlab::SidekiqStatus.running?(merge_jid)
end
def closed_without_fork?