diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-03-24 00:11:19 +0000 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-03-24 00:11:19 +0000 |
commit | 88a15b4e7826047d5303d7cfd7847ee53e5eba15 (patch) | |
tree | bb7ff2d7d1fdbe5e979d68536d3c8b5dd85a3b15 | |
parent | 2bb4ea854228c3c9660d5cb55f59e2cafd1f33ec (diff) | |
parent | 70fa9d5629f6a368da5d649450e3e575ca1c252a (diff) | |
download | gitlab-ce-88a15b4e7826047d5303d7cfd7847ee53e5eba15.tar.gz |
Merge branch 'merge-status-without-timestamps' into 'master'
Don't mark merge request as updated when merge status relative to target branch changes.
Addresses https://gitlab.com/gitlab-org/gitlab-ce/issues/1254 and private issue https://dev.gitlab.org/gitlab/gitlabhq/issues/2165.
See merge request !431
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | app/models/merge_request.rb | 9 | ||||
-rw-r--r-- | app/services/merge_requests/refresh_service.rb | 12 |
3 files changed, 13 insertions, 9 deletions
diff --git a/CHANGELOG b/CHANGELOG index 511ecf5d076..3ecc45cde07 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -32,6 +32,7 @@ v 7.10.0 (unreleased) - Add inifinite scroll to user page activity - Don't show commit comment button when user is not signed in. - Don't include system notes in issue/MR comment count. + - Don't mark merge request as updated when merge status relative to target branch changes. v 7.9.0 - Send EmailsOnPush email when branch or tag is created or deleted. diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index 798306f6dcc..5634f9a686e 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -105,6 +105,15 @@ class MergeRequest < ActiveRecord::Base state :unchecked state :can_be_merged state :cannot_be_merged + + around_transition do |merge_request, transition, block| + merge_request.record_timestamps = false + begin + block.call + ensure + merge_request.record_timestamps = true + end + end end validates :source_project, presence: true, unless: :allow_broken diff --git a/app/services/merge_requests/refresh_service.rb b/app/services/merge_requests/refresh_service.rb index 7eef2c2d6a5..e9b526d1fb7 100644 --- a/app/services/merge_requests/refresh_service.rb +++ b/app/services/merge_requests/refresh_service.rb @@ -53,7 +53,7 @@ module MergeRequests if merge_request.source_branch == @branch_name || force_push? merge_request.reload_code - update_merge_request(merge_request) + merge_request.mark_as_unchecked else mr_commit_ids = merge_request.commits.map(&:id) push_commit_ids = @commits.map(&:id) @@ -61,20 +61,14 @@ module MergeRequests if matches.any? merge_request.reload_code - update_merge_request(merge_request) + merge_request.mark_as_unchecked else - update_merge_request(merge_request) + merge_request.mark_as_unchecked end end end end - def update_merge_request(merge_request) - MergeRequests::UpdateService.new( - merge_request.target_project, - @current_user, merge_status: 'unchecked').execute(merge_request) - end - # Add comment about pushing new commits to merge requests def comment_mr_with_commits merge_requests = @project.origin_merge_requests.opened.where(source_branch: @branch_name).to_a |