From 30d7b5c32cfb97d7c1e57fb8874069077097c89d Mon Sep 17 00:00:00 2001
From: Lin Jen-Shin <godfat@godfat.org>
Date: Tue, 15 Nov 2016 05:29:24 +0800
Subject: [PATCH] Fix the case when it's a whole new branch

---
 app/models/repository.rb | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/app/models/repository.rb b/app/models/repository.rb
index b2b5d528840..5e7bb309967 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -1128,7 +1128,7 @@ class Repository
       raise CommitError.new('Failed to create commit')
     end
 
-    if rugged.lookup(newrev).parent_ids.empty?
+    if rugged.lookup(newrev).parent_ids.empty? || target_branch.nil?
       oldrev = Gitlab::Git::BLANK_SHA
     else
       oldrev = rugged.merge_base(newrev, target_branch.dereferenced_target.sha)
@@ -1219,8 +1219,7 @@ class Repository
 
       [find_branch(branch_name), true]
     else
-      raise CommitError.new(
-        "Cannot find branch #{branch_name} and source_branch is not set")
+      [nil, true] # Empty branch
     end
   end
 end
-- 
GitLab