summaryrefslogtreecommitdiff
path: root/baserock_gerrit/replication.config
blob: 067acc9bbf155d48b46ed23a35d5b85923705acb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Configuration for gerrit-replication plugin.
#
# This handles pushing changes from gerrit.baserock.org to git.baserock.org.
#
# To deploy changes in this file to production, run:
#   ansible-playbook -i hosts baserock_gerrit/instance-mirroring-config.yml

[remote "trove"]
  url = ssh://git@git.baserock.org/${name}.git

  # Disable force-pushing and only sync 'master' and tags.
  #
  # This will probably prove annoying and we'll need to mirror more branches in
  # future. But right now there are hundreds of personal branches and I want to
  # avoid potential push errors for branches we don't care about.
  push = refs/heads/master:refs/heads/master
  push = refs/tags/*:refs/tags/*

  createMissingRepositories = false
  replicatePermissions = false

  # What to sync: this is a regexp that must match the whole project name.
  projects = ^baserock/.*$

  # If true, gerrit-replication will remove remote branches that are absent in
  # the trove. This is a bit dangerous, but necessary if we are to make gerrit
  # the 'master'. Note that if you set 'authGroup', branches that are not
  # visible to the configured authorisation group will also be removed. So do
  # not set 'authGroup' to anything.
  mirror = false