summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/models/merge_request.rb20
1 files changed, 16 insertions, 4 deletions
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index c1b4d4e0760..89245870ca2 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -118,7 +118,7 @@ class MergeRequest < ActiveRecord::Base
end
def broken_diffs?
- diffs == [Gitlab::Git::Diff::BROKEN_DIFF]
+ diffs == broken_diffs
end
def valid_diffs?
@@ -214,10 +214,22 @@ class MergeRequest < ActiveRecord::Base
end
def dump_diffs(diffs)
- diffs.map(&:to_hash)
+ if broken_diffs?
+ broken_diffs
+ else
+ diffs.map(&:to_hash)
+ end
+ end
+
+ def load_diffs(raw)
+ if raw == broken_diffs
+ broken_diffs
+ else
+ raw.map { |hash| Gitlab::Git::Diff.new(hash) }
+ end
end
- def load_diffs(array)
- array.map { |hash| Gitlab::Git::Diff.new(hash) }
+ def broken_diffs
+ [Gitlab::Git::Diff::BROKEN_DIFF]
end
end