Commit dcfc8608 authored by Douwe Maan's avatar Douwe Maan

Merge branch 'add-prune-option-to-fetch-command' into 'master'

Fetch repositories with --prune option by default.

This will allow us to not recreate branches that has been deleted on the upstream and the mirror.

Related issue: https://gitlab.com/gitlab-org/gitlab-ee/issues/1277

I've reviewed the code for updating local and remote mirrors also  I've manually tested these features and all looks good.

Here is the description of the `--prune` option:


> --prune
>
> Before fetching, remove any remote-tracking references that no longer exist on the remote. Tags are not subject to pruning if they are fetched only because of the default tag auto-following or due to a --tags option. However, if tags are fetched due to an explicit refspec (either on the command line or in the remote configuration, for example if the remote was cloned with the --mirror option), then they are also subject to 


@brodock do you see any issues when fetching repos for GitLab Geo?

See merge request !110
parents d7428a5a 2bca5ccb
v4.0.3
- Fetch repositories with `--prune` option by default
v4.0.2 v4.0.2
- Fix gitlab_custom_hook dependencies - Fix gitlab_custom_hook dependencies
......
...@@ -205,6 +205,7 @@ class GitlabProjects ...@@ -205,6 +205,7 @@ class GitlabProjects
$logger.info "Fetching remote #{@name} for project #{@project_name}." $logger.info "Fetching remote #{@name} for project #{@project_name}."
cmd = %W(git --git-dir=#{full_path} fetch #{@name}) cmd = %W(git --git-dir=#{full_path} fetch #{@name})
cmd << '--prune'
cmd << '--force' if forced cmd << '--force' if forced
cmd << tags_option cmd << tags_option
pid = Process.spawn(*cmd) pid = Process.spawn(*cmd)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment