Commit 0b965528 authored by Ahmad Sherif's avatar Ahmad Sherif

GitalyClient::ConflictsService#conflicts? should return true for conflicts with missing side

parent fbbd81ee
Pipeline #16532620 passed with stages
in 44 minutes and 25 seconds
......@@ -25,6 +25,11 @@ module Gitlab
def conflicts?
list_conflict_files.any?
rescue GRPC::FailedPrecondition
# The server raises this exception when it encounters ConflictSideMissing, which
# means a conflict exists but its `theirs` or `ours` data is nil due to a non-existent
# file in one of the trees.
true
end
def resolve_conflicts(target_repository, resolution, source_branch, target_branch)
......
......@@ -365,12 +365,18 @@ describe Repository do
it { is_expected.to be_truthy }
end
context 'non-mergeable branches' do
context 'non-mergeable branches without conflict sides missing' do
subject { repository.can_be_merged?('bb5206fee213d983da88c47f9cf4cc6caf9c66dc', 'feature') }
it { is_expected.to be_falsey }
end
context 'non-mergeable branches with conflict sides missing' do
subject { repository.can_be_merged?('conflict-missing-side', 'conflict-start') }
it { is_expected.to be_falsey }
end
context 'non merged branch' do
subject { repository.merged_to_root_ref?('fix') }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment