summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorSean McGivern <sean@mcgivern.me.uk>2016-10-04 11:27:47 +0000
committerRémy Coutable <remy@rymai.me>2016-10-05 16:38:04 +0200
commitd9c661ea8e88bbd9717334e0b0bcba493f441ffe (patch)
tree13e5f32055e5ee3e0aa69a6f9964c6b00584bb95 /app
parentf0d448fd57568c3a960c4165c8489bea5a2ad57a (diff)
downloadgitlab-ce-d9c661ea8e88bbd9717334e0b0bcba493f441ffe.tar.gz
Merge branch 'issue_22446' into 'master'
Fix bug when trying to cache closed issues from external issue trackers fixes #22446 See merge request !6619 Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'app')
-rw-r--r--app/models/merge_request.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index 2dcf7f89bfc..af9314b9925 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -507,9 +507,13 @@ class MergeRequest < ActiveRecord::Base
# `MergeRequestsClosingIssues` model. This is a performance optimization.
# Calculating this information for a number of merge requests requires
# running `ReferenceExtractor` on each of them separately.
+ # This optimization does not apply to issues from external sources.
def cache_merge_request_closes_issues!(current_user = self.author)
+ return if project.has_external_issue_tracker?
+
transaction do
self.merge_requests_closing_issues.delete_all
+
closes_issues(current_user).each do |issue|
self.merge_requests_closing_issues.create!(issue: issue)
end