summaryrefslogtreecommitdiff
path: root/lib/gitlab/gitaly_client
diff options
context:
space:
mode:
authorAhmad Sherif <me@ahmadsherif.com>2018-01-23 18:31:56 +0100
committerAhmad Sherif <me@ahmadsherif.com>2018-01-23 22:16:51 +0100
commit0b965528c6dd6db67adf5b86c62c19088ebe65f5 (patch)
tree9adbd8cb4cb41aee3fbf88178e047b92ff982532 /lib/gitlab/gitaly_client
parentfbbd81eee6faf9ee9cb3f4071c35bc93147b94b3 (diff)
downloadgitlab-ce-0b965528c6dd6db67adf5b86c62c19088ebe65f5.tar.gz
GitalyClient::ConflictsService#conflicts? should return true for conflicts with missing sidefix/gitaly-can-be-merged-for-missing-conflict-files
Diffstat (limited to 'lib/gitlab/gitaly_client')
-rw-r--r--lib/gitlab/gitaly_client/conflicts_service.rb5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/gitlab/gitaly_client/conflicts_service.rb b/lib/gitlab/gitaly_client/conflicts_service.rb
index 2565d537aff..e14734495a8 100644
--- a/lib/gitlab/gitaly_client/conflicts_service.rb
+++ b/lib/gitlab/gitaly_client/conflicts_service.rb
@@ -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)