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:
authorDouwe Maan <douwe@selenight.nl>2017-11-15 18:46:08 +0300
committerDouwe Maan <douwe@selenight.nl>2017-11-23 18:59:50 +0300
commit0e6beaf50c9233ca03083691856dea2883f71773 (patch)
tree44e8f6d85ab86f747cf5ec88c42a85782fb33a8e /app/services
parent7084c096732dcd041fbdcd22ba17233941683c04 (diff)
Clean up repository fetch and mirror methods
Diffstat (limited to 'app/services')
-rw-r--r--app/services/projects/import_service.rb20
1 files changed, 6 insertions, 14 deletions
diff --git a/app/services/projects/import_service.rb b/app/services/projects/import_service.rb
index c3b11341b4d..26248eb8030 100644
--- a/app/services/projects/import_service.rb
+++ b/app/services/projects/import_service.rb
@@ -51,10 +51,13 @@ module Projects
def import_repository
begin
- if project.gitea_import?
- fetch_repository
+ fetch_refs = importer_class.try(:fetch_refs) if has_importer?
+
+ if fetch_refs
+ project.ensure_repository
+ project.repository.fetch_as_mirror(project.import_url, fetch_refs: fetch_refs)
else
- clone_repository
+ gitlab_shell.import_repository(project.repository_storage_path, project.disk_path, project.import_url)
end
rescue Gitlab::Shell::Error, Gitlab::Git::RepositoryMirroring::RemoteError => e
# Expire cache to prevent scenarios such as:
@@ -66,17 +69,6 @@ module Projects
end
end
- def clone_repository
- gitlab_shell.import_repository(project.repository_storage_path, project.disk_path, project.import_url)
- end
-
- def fetch_repository
- project.ensure_repository
- project.repository.add_remote(project.import_type, project.import_url)
- project.repository.set_remote_as_mirror(project.import_type)
- project.repository.fetch_remote(project.import_type, forced: true)
- end
-
def import_data
return unless has_importer?