diff options
Diffstat (limited to 'app/models/merge_request_diff.rb')
-rw-r--r-- | app/models/merge_request_diff.rb | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/app/models/merge_request_diff.rb b/app/models/merge_request_diff.rb index b8f36a2c958..b0edcbfb782 100644 --- a/app/models/merge_request_diff.rb +++ b/app/models/merge_request_diff.rb @@ -234,28 +234,24 @@ class MergeRequestDiff < ActiveRecord::Base # and save it as array of hashes in st_diffs db field def save_diffs new_attributes = {} - new_diffs = [] if commits.size.zero? new_attributes[:state] = :empty else + new_attributes[:real_size] = compare.diffs.real_size diff_collection = compare.diffs(Commit.max_diff_options) - if diff_collection.overflow? - # Set our state to 'overflow' to make the #empty? and #collected? - # methods (generated by StateMachine) return false. - new_attributes[:state] = :overflow - end - - new_attributes[:real_size] = diff_collection.real_size - if diff_collection.any? new_diffs = dump_diffs(diff_collection) + new_attributes[:st_diffs] = new_diffs new_attributes[:state] = :collected end + + # Set our state to 'overflow' to make the #empty? and #collected? + # methods (generated by StateMachine) return false. + new_attributes[:state] = :overflow if diff_collection.overflow? end - new_attributes[:st_diffs] = new_diffs update_columns_serialized(new_attributes) end |