commit | da69247ace55bce634b962210c1624513189243c | [log] [tgz] |
---|---|---|
author | Patrick Hiesel <hiesel@google.com> | Mon Oct 07 16:03:23 2019 +0200 |
committer | Patrick Hiesel <hiesel@google.com> | Wed Oct 09 14:47:43 2019 +0200 |
tree | a3a7437b06007d0fcf24aebacfbe645b4fe6186f | |
parent | 903b73cfdb2d65c0daa7e01e1c38afc5227be489 [diff] |
Events: Make ListChangeOptions configurable Gerrit's event system propagates changes and revisions using the same data types that Gerrit exposes on it's REST API. For many reasons, this is unfortunate. Performance is one of these reasons that this commit addresses in a non-breaking way. The event system uses ChangeJson to format the payload of the event. Until now, this used pretty much all available change options making the formatting very expensive. No core plugin needs this rich set of fields. They work perfectly fine if the event just contains a minimal payload. This commit makes the options used for formatting event payload configurable to make sure this is a non-breaking change. If admins have their own plugins set up that rely on specific options, they can specify these in the Gerrit config and Gerrit will include them when sending events. This is also useful for stream events. There is a long-term plan to rework the event interface to remove the usage of rich formatting altogether and just send IDs of the respective entities instead. That plan is tangential to what this commit does. Change-Id: I1c7a6fe0a15669b607cdfb8255b94e4f036b76bf
Gerrit is a code review and project management tool for Git based projects.
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.
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.
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 --recurse-submodules https://gerrit.googlesource.com/gerrit cd gerrit && bazel build release
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>]
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.