Update git submodules

* Update plugins/replication from branch 'stable-2.15'
  to 1850413298125a857b61d31510ccb22c0dfafc1e
  - ReplicationQueue: Check nulls in firePendingEvents
    After a sudden reboot (for unknown reason) Gerrit at startup couldn't
    load because of NullPointerException. There is a possibility that
    stored event was null at that point. Extra logging added to handle null
    Change-Id: I72f34d8def6e0246196cd865f33f6e795b21664b
  - Log stack trace when an error occur while deleting event
    This will help figuring out root cause of failure to delete event file.
    Change-Id: I2f9774c3daf19a04f6b04414ba8145c99bb6e0fe
    (cherry picked from commit b62f006b1350180de0af02c82fb18fb290a2548f)
  - Append LF to the json string of persisted replication event
    Change-Id: I83ed3f37071125018bf23f6dcd137ef819ef3559
    (cherry picked from commit 5e91925cfd391898e8e33fd149b9e1a115dafee4)
  - Change default for the replicateOnStartup to false
    Now that replication events are persistent and non-finished replications
    rescheduled after plugin restart the replicateOnStartup feature becomes
    less important. We can change the default value for this option to
    Change-Id: I237d8d8514e01b8786b7db9f39bead4eb475a0a4
    (cherry picked from commit 807790f7d4058235a19b2a766e84628168b64ae6)
  - Don't lose ref-updated events on plugin restart
    When a ref-updated event is received, persist the event in the directory
    defined by the replication.eventsDirectory. When the updated ref is
    replicated deleted the persisted event.
    If replication queue is non-empty and plugin gets stopped, ref updates
    will not be replicated and, therefore, the persisted events will not get
    deleted. When the plugin starts it will schedule replication for all
    persisted events and delete them.
    This change provides two benefits:
    * no ref-updated events are lost on plugin restart
    * eliminate need for the replicateOnStartup=true setting which schedules
      replication of all refs for all projects and typically creates a humongous
      replication queue on every plugin restart.
    Change-Id: Ieacd084fabe703333241ffda11c8b6c78cced37a
    (cherry picked from commit bdaea910694dd5a3474dbc051b298aaee9d77950)
1 file changed
tree: 20a34f669b524158d2e8e19563c5e0eae7f5b48b
  1. .bazelignore
  2. .bazelproject
  3. .bazelrc
  4. .bazelversion
  5. .editorconfig
  6. .git-blame-ignore-revs
  7. .gitignore
  8. .gitmodules
  9. .gitreview
  10. .mailmap
  11. .pydevproject
  12. .settings/
  13. BUILD
  15. Documentation/
  17. README.md
  18. ReleaseNotes/
  21. contrib/
  22. gerrit-acceptance-framework/
  23. gerrit-acceptance-tests/
  24. gerrit-cache-h2/
  25. gerrit-cache-mem/
  26. gerrit-common/
  27. gerrit-elasticsearch/
  28. gerrit-extension-api/
  29. gerrit-gpg/
  30. gerrit-gwtdebug/
  31. gerrit-gwtexpui/
  32. gerrit-gwtui-common/
  33. gerrit-gwtui/
  34. gerrit-httpd/
  35. gerrit-index/
  36. gerrit-launcher/
  37. gerrit-lucene/
  38. gerrit-main/
  39. gerrit-oauth/
  40. gerrit-openid/
  41. gerrit-patch-commonsnet/
  42. gerrit-patch-jgit/
  43. gerrit-pgm/
  44. gerrit-plugin-api/
  45. gerrit-plugin-gwtui/
  46. gerrit-prettify/
  47. gerrit-reviewdb/
  48. gerrit-server/
  49. gerrit-sshd/
  50. gerrit-test-util/
  51. gerrit-util-cli/
  52. gerrit-util-http/
  53. gerrit-util-ssl/
  54. gerrit-war/
  55. lib/
  56. plugins/
  57. polygerrit-ui/
  58. tools/
  59. version.bzl
  60. website/

Gerrit Code Review

Gerrit is a code review and project management tool for Git based projects.

Build Status


Gerrit makes reviews easier by showing changes in a side-by-side display, and allowing inline comments to be added by any reviewer.

Gerrit simplifies Git based project maintainership by permitting any authorized user to submit changes to the master Git repository, rather than requiring all approved changes to be merged in by hand by the project maintainer.


For information about how to install and use Gerrit, refer to the documentation.


Our canonical Git repository is located on googlesource.com. There is a mirror of the repository on Github.

Reporting bugs

Please report bugs on the issue tracker.


Gerrit is the work of hundreds of contributors. We appreciate your help!

Please read the contribution guidelines.

Note that we do not accept Pull Requests via the Github mirror.

Getting in contact

The Developer Mailing list is repo-discuss on Google Groups.


Gerrit is provided under the Apache License 2.0.


Install Bazel and run the following:

    git clone --recursive https://gerrit.googlesource.com/gerrit
    cd gerrit && bazel build release

Install binary packages (Deb/Rpm)

The instruction how to configure GerritForge/BinTray repositories is here

On Debian/Ubuntu run:

    apt-get update & apt-get install gerrit=<version>-<release>

NOTE: release is a counter that starts with 1 and indicates the number of packages that have been released with the same version of the software.

On CentOS/RedHat run:

    yum clean all && yum install gerrit-<version>[-<release>]

On Fedora run:

    dnf clean all && dnf install gerrit-<version>[-<release>]

Use pre-built Gerrit images on Docker

Docker images of Gerrit are available on DockerHub

To run a CentOS 7 based Gerrit image:

    docker run -p 8080:8080 gerritforge/gerrit-centos7[:version]

To run a Ubuntu 15.04 based Gerrit image:

    docker run -p 8080:8080 gerritforge/gerrit-ubuntu15.04[:version]

NOTE: release is optional. Last released package of the version is installed if the release number is omitted.