diff options
author | Robert Speicher <robert@gitlab.com> | 2018-06-22 15:25:36 +0000 |
---|---|---|
committer | Robert Speicher <robert@gitlab.com> | 2018-06-22 15:25:36 +0000 |
commit | 254e589de918a0bce3fab78d4c11f041c01f2d69 (patch) | |
tree | 95838595bb5e992d338f21760c8128cbf0137d00 /lib | |
parent | 70bf08b5d34e71bb67d3a71a9f6aae553f0d9f4a (diff) | |
parent | f87e702eceed58d9aacc1f6667c0c95a21c23a5c (diff) | |
download | gitlab-ce-254e589de918a0bce3fab78d4c11f041c01f2d69.tar.gz |
Merge branch 'rs-lib-gitlab-git-gitlab_projects-parity' into 'master'
CE-EE parity for lib/gitlab/git/gitlab_projects.rb
See merge request gitlab-org/gitlab-ce!20047
Diffstat (limited to 'lib')
-rw-r--r-- | lib/gitlab/git/gitlab_projects.rb | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/lib/gitlab/git/gitlab_projects.rb b/lib/gitlab/git/gitlab_projects.rb index 8475645971e..5ff15a787f0 100644 --- a/lib/gitlab/git/gitlab_projects.rb +++ b/lib/gitlab/git/gitlab_projects.rb @@ -61,22 +61,15 @@ module Gitlab end def fetch_remote(name, timeout, force:, tags:, ssh_key: nil, known_hosts: nil, prune: true) - tags_option = tags ? '--tags' : '--no-tags' - logger.info "Fetching remote #{name} for repository #{repository_absolute_path}." - cmd = %W(#{Gitlab.config.git.bin_path} fetch #{name} --quiet) - cmd << '--prune' if prune - cmd << '--force' if force - cmd << tags_option + cmd = fetch_remote_command(name, tags, prune, force) setup_ssh_auth(ssh_key, known_hosts) do |env| - success = run_with_timeout(cmd, timeout, repository_absolute_path, env) - - unless success - logger.error "Fetching remote #{name} for repository #{repository_absolute_path} failed." + run_with_timeout(cmd, timeout, repository_absolute_path, env).tap do |success| + unless success + logger.error "Fetching remote #{name} for repository #{repository_absolute_path} failed." + end end - - success end end @@ -202,6 +195,14 @@ module Gitlab private + def fetch_remote_command(name, tags, prune, force) + %W(#{Gitlab.config.git.bin_path} fetch #{name} --quiet).tap do |cmd| + cmd << '--prune' if prune + cmd << '--force' if force + cmd << (tags ? '--tags' : '--no-tags') + end + end + def git_import_repository(source, timeout) # Skip import if repo already exists return false if File.exist?(repository_absolute_path) |