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

This commit is contained in:
Ahmad Sherif 2018-01-23 18:31:56 +01:00
parent fbbd81eee6
commit 0b965528c6
2 changed files with 12 additions and 1 deletions

View File

@ -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)

View File

@ -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') }