Replikation von einem Gerrit zu einem anderen

Replikation von einem Gerrit zu einem anderen

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 urlder Zeile. Dokumentationsbeispiele zeigen eine URL ohne angegebenes Protokoll, erwähnen aber auch, dass der urlParameter mit git pushder URL-Syntax kompatibel ist. Nach der Änderung urlder Zeile in:

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

Das Problem ist behoben. Gerrit beginnt, das Remote-Repository anzuzeigen.

verwandte Informationen