
Я хочу реплицировать один проект/репозиторий из одного 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}
Проблема исчезла. Геррит начинает видеть удаленный репозиторий.