From 35fe9c660cc5309e244ce1bde5f65b4e7ec73e4e Mon Sep 17 00:00:00 2001 From: Douglas Barbosa Alexandre Date: Mon, 3 Apr 2017 14:46:00 -0300 Subject: [PATCH] Move methods that are not related to mirroring to the repository model --- app/models/concerns/repository_mirroring.rb | 24 ++++--------------- app/models/repository.rb | 26 ++++++++++++++++----- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/app/models/concerns/repository_mirroring.rb b/app/models/concerns/repository_mirroring.rb index 7aca3f72ae7..fed336c29d6 100644 --- a/app/models/concerns/repository_mirroring.rb +++ b/app/models/concerns/repository_mirroring.rb @@ -1,21 +1,4 @@ module RepositoryMirroring - def storage_path - @project.repository_storage_path - end - - def add_remote(name, url) - raw_repository.remote_add(name, url) - rescue Rugged::ConfigError - raw_repository.remote_update(name, url: url) - end - - def remove_remote(name) - raw_repository.remote_delete(name) - true - rescue Rugged::ConfigError - false - end - def set_remote_as_mirror(name) config = raw_repository.rugged.config @@ -25,7 +8,10 @@ module RepositoryMirroring config["remote.#{name}.prune"] = true end - def fetch_remote(remote, forced: false, no_tags: false) - gitlab_shell.fetch_remote(storage_path, path_with_namespace, remote, forced: forced, no_tags: no_tags) + def fetch_mirror(remote, url) + add_remote(remote, url) + set_remote_as_mirror(remote) + fetch_remote(remote, forced: true) + remove_remote(remote) end end diff --git a/app/models/repository.rb b/app/models/repository.rb index a9c1ce6782d..adc2fd563ff 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -65,7 +65,7 @@ class Repository # Return absolute path to repository def path_to_repo @path_to_repo ||= File.expand_path( - File.join(@project.repository_storage_path, path_with_namespace + ".git") + File.join(repository_storage_path, path_with_namespace + ".git") ) end @@ -1034,11 +1034,21 @@ class Repository rugged.references.delete(tmp_ref) if tmp_ref end - def fetch_mirror(remote, url) - add_remote(remote, url) - set_remote_as_mirror(remote) - fetch_remote(remote, forced: true) - remove_remote(remote) + def add_remote(name, url) + raw_repository.remote_add(name, url) + rescue Rugged::ConfigError + raw_repository.remote_update(name, url: url) + end + + def remove_remote(name) + raw_repository.remote_delete(name) + true + rescue Rugged::ConfigError + false + end + + def fetch_remote(remote, forced: false, no_tags: false) + gitlab_shell.fetch_remote(repository_storage_path, path_with_namespace, remote, forced: forced, no_tags: no_tags) end def fetch_ref(source_path, source_ref, target_ref) @@ -1158,4 +1168,8 @@ class Repository def repository_event(event, tags = {}) Gitlab::Metrics.add_event(event, { path: path_with_namespace }.merge(tags)) end + + def repository_storage_path + @project.repository_storage_path + end end