diff options
author | Douglas Barbosa Alexandre <dbalexandre@gmail.com> | 2017-04-03 14:46:00 -0300 |
---|---|---|
committer | Douglas Barbosa Alexandre <dbalexandre@gmail.com> | 2017-04-03 15:50:22 -0300 |
commit | 35fe9c660cc5309e244ce1bde5f65b4e7ec73e4e (patch) | |
tree | 8e01ff0cb1d458b6d9f150231a4191b7acfde3a8 /app/models/repository.rb | |
parent | 6e64071e2065dc20d9a7afdce39a68b6172eea1f (diff) | |
download | gitlab-ce-35fe9c660cc5309e244ce1bde5f65b4e7ec73e4e.tar.gz |
Move methods that are not related to mirroring to the repository model
Diffstat (limited to 'app/models/repository.rb')
-rw-r--r-- | app/models/repository.rb | 26 |
1 files changed, 20 insertions, 6 deletions
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 |