diff options
Diffstat (limited to 'lib/gitlab/git/repository.rb')
-rw-r--r-- | lib/gitlab/git/repository.rb | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/gitlab/git/repository.rb b/lib/gitlab/git/repository.rb index b1a6dbfe8d3..cb787cff7b0 100644 --- a/lib/gitlab/git/repository.rb +++ b/lib/gitlab/git/repository.rb @@ -884,8 +884,11 @@ module Gitlab end end - def add_remote(remote_name, url) + # If `mirror_refmap` is present the remote is set as mirror with that mapping + def add_remote(remote_name, url, mirror_refmap: nil) rugged.remotes.create(remote_name, url) + + set_remote_as_mirror(remote_name, refmap: mirror_refmap) if mirror_refmap rescue Rugged::ConfigError remote_update(remote_name, url: url) end @@ -1155,8 +1158,7 @@ module Gitlab end end - add_remote(remote_name, url) - set_remote_as_mirror(remote_name) + add_remote(remote_name, url, mirror_refmap: :all_refs) fetch_remote(remote_name, env: env) ensure remove_remote(remote_name) |