summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValery Sizov <valery@gitlab.com>2017-10-19 10:29:39 +0200
committerValery Sizov <valery@gitlab.com>2017-10-20 17:21:22 +0300
commit4256d10697f57026f4c59f832e5157f42ee7aa22 (patch)
tree0c54ef531c1dfa19100d58c680df64f6f56c1da2
parentf69b54682fc1770a73c528032b1a86f3e7d547a1 (diff)
downloadgitlab-ce-4256d10697f57026f4c59f832e5157f42ee7aa22.tar.gz
Remove non-last diff_files from the database
-rw-r--r--app/services/merge_requests/merge_service.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/app/services/merge_requests/merge_service.rb b/app/services/merge_requests/merge_service.rb
index 8c5821aa870..9c93e904684 100644
--- a/app/services/merge_requests/merge_service.rb
+++ b/app/services/merge_requests/merge_service.rb
@@ -64,6 +64,8 @@ module MergeRequests
DeleteBranchService.new(@merge_request.source_project, branch_deletion_user)
.execute(merge_request.source_branch)
end
+
+ clean_diff_files
end
def clean_merge_jid
@@ -94,6 +96,12 @@ module MergeRequests
end
end
+ def clean_diff_files
+ diffs = merge_request.merge_request_diffs.order('merge_request_diffs.id DESC').select(:id)
+ non_latest_diff_ids = diffs[0...-1]
+ MergeRequestDiffFile.where('merge_request_diff_id IN(?)', non_latest_diff_ids).delete_all
+ end
+
def merge_request_info
merge_request.to_reference(full: true)
end