summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/services/git_operation_service.rb18
1 files 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