tree d50b1bf5e80166bb77ecc9a949ddf8cc40a92e90
parent 21de6221f9e95e7db0928768c220e4d0f54c9832
parent ee937f5771192719df9024c85d89090400a58be8
author Fabio Ponciroli <ponch78@gmail.com> 1679987552 +0200
committer Fabio Ponciroli <ponch78@gmail.com> 1680026349 +0200

Merge branch 'stable-3.5' into stable-3.6

* stable-3.5: (30 commits)
  Set the config files after Gerrit init step
  Make sure project is indexed after creation
  Allow creation of new projects
  Introduce concept of permanent failure
  Document need for Access Database capability
  Do not try to delete inexistent refs
  Make variable used by constructor final
  Stream events listener should respect excluded refs param
  Stream events listener should respect `remote.NAME.projects` param
  Remove unnecessary test
  Add ref deletion functionality to the StreamEventsListener
  Add guard clauses to improve readability
  Use Gerrit 3.5.5 in example setup
  Return empty list when prefix is not matched in suggest
  Add metric to count when ref size is larger that maxApiPayloadSize
  Improve fetch logging by adding replication task id and refs list
  Change the base docker image in the broker topology.
  Update docker http/broker topologies.
  Pull-replication does not require DELETE refs permissions.
  Move Gerrit init and reindexing steps to entrypoint.sh.
  Fix init step for pull-replication.
  Add init step for pull-replication
  Add example using broker notification (Kafka)
  Set correct 3.5 broker version
  Give execute permission to entrypoint.sh
  Remove unused env variables
  Expose debug ports in Gerrit
  Do no update Gerrit rpm
  Remove /a from fetch url in replication.config.template
  Add docker-compose to spinup test environment

JSch has been dismissed in lieu of Apache Mina, hence the exceptions
caught need to be adapted with the new SSH implementation.

Change-Id: Ie3aca8e54a8f919eae6d1d959415565af7b7b8b3
