From f2464a13210fe77e2a01b1a5ef9b6466444da426 Mon Sep 17 00:00:00 2001 From: Douwe Maan Date: Thu, 2 Mar 2017 08:59:57 -0600 Subject: [PATCH] Don't require start branch to exist if we're just creating a new branch --- app/services/git_operation_service.rb | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/app/services/git_operation_service.rb b/app/services/git_operation_service.rb index 82ef34a4863..ed6ea638235 100644 --- a/app/services/git_operation_service.rb +++ b/app/services/git_operation_service.rb @@ -56,14 +56,17 @@ class GitOperationService start_project: repository.project, &block) - start_branch_name ||= branch_name + start_repository = start_project.repository + start_branch_name = nil if start_repository.empty_repo? - verify_start_branch_exists!(start_project.repository, start_branch_name) + if start_branch_name && !start_repository.branch_exists?(start_branch_name) + raise ArgumentError, "Cannot find branch #{start_branch_name} in #{start_repository.path_with_namespace}" + end update_branch_with_hooks(branch_name) do repository.with_repo_branch_commit( - start_project.repository, - start_branch_name, + start_repository, + start_branch_name || branch_name, &block) end end @@ -150,11 +153,4 @@ class GitOperationService repository.raw_repository.autocrlf = :input end end - - def verify_start_branch_exists!(start_repository, start_branch_name) - return if start_repository.empty_repo? - return if start_repository.branch_exists?(start_branch_name) - - raise ArgumentError, "Cannot find branch #{start_branch_name} in #{start_repository.path_with_namespace}" - end end