Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-08-13 18:10:03 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-08-13 18:10:03 +0300
commit6df7943512ca90323c69b926404cc561b6305ce2 (patch)
tree5dbdb697f641358516ddae9b45ab8bae5d58de81 /app/models/merge_request_diff.rb
parent5605efec12c99adf88f641391cb879dedf8fa05e (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/models/merge_request_diff.rb')
-rw-r--r--app/models/merge_request_diff.rb14
1 files changed, 9 insertions, 5 deletions
diff --git a/app/models/merge_request_diff.rb b/app/models/merge_request_diff.rb
index 90893882fe5..fdc55063433 100644
--- a/app/models/merge_request_diff.rb
+++ b/app/models/merge_request_diff.rb
@@ -149,6 +149,7 @@ class MergeRequestDiff < ApplicationRecord
# All diff information is collected from repository after object is created.
# It allows you to override variables like head_commit_sha before getting diff.
after_create :save_git_content, unless: :importing?
+ after_create :set_count_columns
after_create_commit :set_as_latest_diff, unless: :importing?
after_save :update_external_diff_store
@@ -642,6 +643,7 @@ class MergeRequestDiff < ApplicationRecord
rows = build_merge_request_diff_files(diff_collection)
create_merge_request_diff_files(rows)
+ self.class.uncached { merge_request_diff_files.reset }
end
# Set our state to 'overflow' to make the #empty? and #collected?
@@ -657,12 +659,14 @@ class MergeRequestDiff < ApplicationRecord
def save_commits
MergeRequestDiffCommit.create_bulk(self.id, compare.commits.reverse)
+ self.class.uncached { merge_request_diff_commits.reset }
+ end
- # merge_request_diff_commits.reset is preferred way to reload associated
- # objects but it returns cached result for some reason in this case
- # we can circumvent that by specifying that we need an uncached reload
- commits = self.class.uncached { merge_request_diff_commits.reset }
- self.commits_count = commits.size
+ def set_count_columns
+ update_columns(
+ commits_count: merge_request_diff_commits.size,
+ files_count: merge_request_diff_files.size
+ )
end
def repository