
Ich möchte ein Projekt/Repository von einem Gerrit auf ein anderes Gerrit replizieren. Meine Replikationskonfiguration:
[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
Nach dem Auslösen der Replikation werden mir im Replikationsprotokoll folgende Meldungen angezeigt:
[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
Die letzten beiden Zeilen wiederholen sich endlos. Es sieht so aus, als ob das Quell-Gerrit das Remote-Repository nicht sieht, egal ob das Remote-Repository existiert oder nicht. Wenn nicht, wird das leere Repository ordnungsgemäß erstellt, aber danach sieht Gerrit es immer noch nicht.
Antwort1
Das Problem lag in url
der Zeile. Dokumentationsbeispiele zeigen eine URL ohne angegebenes Protokoll, erwähnen aber auch, dass der url
Parameter mit git push
der URL-Syntax kompatibel ist. Nach der Änderung url
der Zeile in:
url = ssh://[email protected]:29418/${name}
Das Problem ist behoben. Gerrit beginnt, das Remote-Repository anzuzeigen.