summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2015-03-23 17:30:19 +0100
committerDouwe Maan <douwe@gitlab.com>2015-03-23 17:30:19 +0100
commit70fa9d5629f6a368da5d649450e3e575ca1c252a (patch)
tree715c2ce7fe41c8b49b01f3e9400e2bee03a84a2d
parentbc4e25189805879490555ef2782193470f4fe295 (diff)
downloadgitlab-ce-merge-status-without-timestamps.tar.gz
Don't mark merge request as updated when merge status relative to target branch changes.merge-status-without-timestamps
-rw-r--r--CHANGELOG1
-rw-r--r--app/models/merge_request.rb9
-rw-r--r--app/services/merge_requests/refresh_service.rb12
3 files changed, 13 insertions, 9 deletions
diff --git a/CHANGELOG b/CHANGELOG
index c8b2dd2ba77..83f6c16281d 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -27,6 +27,7 @@ v 7.10.0 (unreleased)
- Restrict permissions on backup files
- Improve oauth accounts UI in profile page
- Add ability to unlink connected accounts
+ - Don't mark merge request as updated when merge status relative to target branch changes.
v 7.9.0
- Add HipChat integration documentation (Stan Hu)
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