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:
Diffstat (limited to 'app/services/projects/update_remote_mirror_service.rb')
-rw-r--r--app/services/projects/update_remote_mirror_service.rb14
1 files changed, 8 insertions, 6 deletions
diff --git a/app/services/projects/update_remote_mirror_service.rb b/app/services/projects/update_remote_mirror_service.rb
index 13a467a3ef9..e554bed6819 100644
--- a/app/services/projects/update_remote_mirror_service.rb
+++ b/app/services/projects/update_remote_mirror_service.rb
@@ -29,14 +29,16 @@ module Projects
remote_mirror.ensure_remote!
repository.fetch_remote(remote_mirror.remote_name, ssh_auth: remote_mirror, no_tags: true)
- opts = {}
- if remote_mirror.only_protected_branches?
- opts[:only_branches_matching] = project.protected_branches.select(:name).map(&:name)
- end
+ response = remote_mirror.update_repository
- remote_mirror.update_repository(opts)
+ if response.divergent_refs.any?
+ message = "Some refs have diverged and have not been updated on the remote:"
+ message += "\n\n#{response.divergent_refs.join("\n")}"
- remote_mirror.update_finish!
+ remote_mirror.mark_as_failed!(message)
+ else
+ remote_mirror.update_finish!
+ end
end
def retry_or_fail(mirror, message, tries)