Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLin Jen-Shin <godfat@godfat.org>2016-12-08 12:57:52 +0300
committerLin Jen-Shin <godfat@godfat.org>2016-12-08 12:57:52 +0300
commit8384d0d8d528ffdd60c9ba9e3c0c9f688cb560ef (patch)
treefb84cc230333c82d64b248f4fa83a0d5b8d49c24 /app/services/git_operation_service.rb
parent23032467d4a1282f69e76bba921bd71c0083f7a8 (diff)
Introduce Repository#with_tmp_ref which we need
commits from the other repository. We'll cleanup the tmp ref after we're done with our business.
Diffstat (limited to 'app/services/git_operation_service.rb')
-rw-r--r--app/services/git_operation_service.rb15
1 files changed, 7 insertions, 8 deletions
diff --git a/app/services/git_operation_service.rb b/app/services/git_operation_service.rb
index 36c8b8ff575..a7d267cd6b4 100644
--- a/app/services/git_operation_service.rb
+++ b/app/services/git_operation_service.rb
@@ -38,15 +38,14 @@ GitOperationService = Struct.new(:user, :repository) do
branch_name, source_branch_name, source_project)
update_branch_with_hooks(branch_name) do |ref|
- if repository.project != source_project
- repository.fetch_ref(
- source_project.repository.path_to_repo,
- "#{Gitlab::Git::BRANCH_REF_PREFIX}#{source_branch_name}",
- "#{Gitlab::Git::BRANCH_REF_PREFIX}#{branch_name}"
- )
+ if repository.project == source_project
+ yield(ref)
+ else
+ repository.with_tmp_ref(
+ source_project.repository, source_branch_name) do
+ yield(ref)
+ end
end
-
- yield(ref)
end
end