Репликация от одного Gerrit к другому

Репликация от одного Gerrit к другому

Я хочу реплицировать один проект/репозиторий из одного Gerrit в другой Gerrit. Моя конфигурация репликации:

[remote "gerrit3"]
  url = 192.168.1.106:29418/${name}
  adminUrl = gerrit+ssh://192.168.1.106/
  push = refs/*:refs/*
  replicatePermissions = true
  replicateHiddenProjects = true
  mirror = false
  projects = tests/test1
  replicationDelay = 0
  createMissingRepositories = true

После запуска репликации я вижу следующие сообщения в журнале репликации:

[2019-07-25 14:11:00,249] [] scheduling replication tests/test1:..all.. => 192.168.1.106:29418/tests/test1
[2019-07-25 14:11:00,251] [] scheduled tests/test1:..all.. => [f208c682] push 192.168.1.106:29418/tests/test1 to run after 0s
[2019-07-25 14:11:00,253] [f208c682] Replication to 192.168.1.106:29418/tests/test1 started...
[2019-07-25 14:11:00,463] [f208c682] Missing repository created; retry replication to 192.168.1.106:29418/tests/test1
[2019-07-25 14:12:00,465] [f208c682] Replication to 192.168.1.106:29418/tests/test1 started...
[2019-07-25 14:12:00,689] [f208c682] Missing repository created; retry replication to 192.168.1.106:29418/tests/test1
[2019-07-25 14:13:00,690] [f208c682] Replication to 192.168.1.106:29418/tests/test1 started...
[2019-07-25 14:13:00,996] [f208c682] Missing repository created; retry replication to 192.168.1.106:29418/tests/test1

Последние две строки повторяются вечно. Похоже, что исходный Gerrit не видит удаленный репозиторий, независимо от того, существует ли удаленный репозиторий или нет. Если нет, он создает пустой репозиторий правильно, но после этого Gerrit все равно его не видит.

решение1

Проблема была в urlстроке. Примеры документации показывают URL без указанного протокола, но также упоминают, что urlпараметр совместим с git pushсинтаксисом URL. После изменения urlстроки на:

url = ssh://[email protected]:29418/${name}

Проблема исчезла. Геррит начинает видеть удаленный репозиторий.

Связанный контент