Install AuthModule in the sys injector under a WAR deployment WebAppInitializer installs AuthModule in the web injector, but AuthModule binds sys-level state: OAuthTokenCache and, once added, the OAuthTokenEncrypter DynamicItem whose itemOf is declared in GerritGlobalModule (sys). The ssh command injector that will host the oauth-token commands is a sibling of web, not a child. Under a servlet-container WAR, an AuthModule in the web injector would be invisible to the sys itemOf and to the ssh injector, silently disabling stored-token encryption and breaking the SSH commands. Daemon already installs AuthModule in createSysInjector; the WAR path was the outlier. Move it there so the injector graphs match, before the encrypter and the oauth-token SSH commands land, so every later change works under both deployments. The web injector loses nothing: web is a child of sys and still resolves Realm and AuthBackend from the parent. This complements declaring DynamicMap<OAuthServiceProvider> in sys; both move OAuth wiring out of the web injector so it is reachable everywhere. Feature: Issue 560182135 Release-Notes: skip Change-Id: I745fa4b3bf534cf106925eebf4b9fd91117a77f5
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.
Due to spam abuse, membership in the repo-discuss Google Group is required in order to create issues. See the announcement for more info.
Gerrit is the work of hundreds of contributors. We appreciate your help!
Please read the contribution guidelines.
Due to spam abuse, membership in the repo-discuss Google Group is required in order to create Gerrit changes on the gerrit-review Gerrit server.
Note that we do not accept Pull Requests via the GitHub mirror.
Find a full list of contact options on the website.
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 8 based Gerrit image:
docker run -p 8080:8080 gerritcodereview/gerrit[:version]-centos8
To run a Ubuntu 20.04 based Gerrit image:
docker run -p 8080:8080 gerritcodereview/gerrit[:version]-ubuntu20
NOTE: release is optional. Last released package of the version is installed if the release number is omitted.