summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/services/merge_requests/refresh_service.rb18
1 files changed, 16 insertions, 2 deletions
diff --git a/app/services/merge_requests/refresh_service.rb b/app/services/merge_requests/refresh_service.rb
index 74448998ddd..1a1704aea77 100644
--- a/app/services/merge_requests/refresh_service.rb
+++ b/app/services/merge_requests/refresh_service.rb
@@ -43,8 +43,22 @@ module MergeRequests
merge_requests = filter_merge_requests(merge_requests)
merge_requests.each do |merge_request|
- merge_request.reload_code
- merge_request.mark_as_unchecked
+
+ if merge_request.source_branch == @branch_name
+ merge_request.reload_code
+ merge_request.mark_as_unchecked
+ else
+ mr_commit_ids = merge_request.commits.map(&:id)
+ push_commit_ids = @commits.map(&:id)
+ matches = mr_commit_ids & push_commit_ids
+
+ if matches.any?
+ merge_request.reload_code
+ merge_request.mark_as_unchecked
+ else
+ merge_request.mark_as_unchecked
+ end
+ end
end
end