GitalyClient::ConflictsService#conflicts? should return true for conflicts with missing side
This commit is contained in:
parent
fbbd81eee6
commit
0b965528c6
2 changed files with 12 additions and 1 deletions
|
@ -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') }
|
||||
|
||||
|
|
Loading…
Reference in a new issue