From 937bd9e386f54eeac2ef2009173d58a7842f9779 Mon Sep 17 00:00:00 2001 From: Mark Chao Date: Tue, 19 Jun 2018 21:22:38 +0800 Subject: Fix possiblilty of branch not found This now can happen because can_be_merged? is called during MR merge_status transition to cannot_be_merged. It is possible branch_name is invalid. --- lib/gitlab/git/repository.rb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/gitlab/git/repository.rb b/lib/gitlab/git/repository.rb index 77543206e13..b7965315eb2 100644 --- a/lib/gitlab/git/repository.rb +++ b/lib/gitlab/git/repository.rb @@ -1413,8 +1413,11 @@ module Gitlab end def can_be_merged?(source_sha, target_branch) - target_sha = find_branch(target_branch, true).target - !gitaly_conflicts_client(source_sha, target_sha).conflicts? + if target_sha = find_branch(target_branch, true)&.target + !gitaly_conflicts_client(source_sha, target_sha).conflicts? + else + false + end end def search_files_by_name(query, ref) -- cgit v1.2.1