diff options
author | Sean McGivern <sean@gitlab.com> | 2016-08-01 16:52:53 +0300 |
---|---|---|
committer | Fatih Acet <acetfatih@gmail.com> | 2016-08-12 23:24:46 +0300 |
commit | f3cf40b8aaeb19479443821a767c354cd203c24e (patch) | |
tree | adf5b801363a5cba30c06c185e4163e9af863045 /lib/gitlab/conflict | |
parent | 10cf933f70657eb0c413259319a103e15abd9f5c (diff) |
Handle case where one side deleted the file
Diffstat (limited to 'lib/gitlab/conflict')
-rw-r--r-- | lib/gitlab/conflict/file_collection.rb | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/gitlab/conflict/file_collection.rb b/lib/gitlab/conflict/file_collection.rb index e621a76a7de..5122a5b2111 100644 --- a/lib/gitlab/conflict/file_collection.rb +++ b/lib/gitlab/conflict/file_collection.rb @@ -1,6 +1,9 @@ module Gitlab module Conflict class FileCollection + class ConflictSideMissing < StandardError + end + attr_reader :merge_request, :our_commit, :their_commit def initialize(merge_request) @@ -39,10 +42,9 @@ module Gitlab def files @files ||= merge_index.conflicts.map do |conflict| - their_path = conflict[:theirs][:path] - our_path = conflict[:ours][:path] + raise ConflictSideMissing unless conflict[:theirs] && conflict[:ours] - Gitlab::Conflict::File.new(merge_index.merge_file(our_path), + Gitlab::Conflict::File.new(merge_index.merge_file(conflict[:ours][:path]), conflict, diff_refs: merge_request.diff_refs, repository: repository) |