Generated by DeepSeek V3.2| Gerrit Code Review | |
|---|---|
| Name | Gerrit Code Review |
| Developer | Google, GerritForge, The Linux Foundation |
| Released | 23 February 2008 |
| Programming language | Java, Google Web Toolkit |
| Operating system | Cross-platform |
| Genre | Code review, Version control |
| License | Apache License 2.0 |
| Website | https://www.gerritcodereview.com |
Gerrit Code Review. It is a web-based code review tool built on top of the Git version control system, designed to facilitate a patch set-based workflow for collaborative software development. Initially created by Google for managing contributions to the Android project, it has become a critical infrastructure component for many large open-source software projects. The system enforces a review-before-merge policy, integrating tightly with Git to manage changes and permissions.
Gerrit functions as a Git server that requires every change to be submitted as a patch set and approved through a code review process before it can be merged into a target branch. This model is central to the development workflows of major projects like the Android Open Source Project, Chromium, and the Linux kernel (via subsystems). It operates on a web application interface, allowing reviewers to comment inline, vote on changes using a configurable label system, and perform automated verification through integration with continuous integration systems like Jenkins. The tool's design emphasizes peer review and software quality assurance within distributed teams.
Key features include a web user interface for browsing changes and conducting reviews, support for three-way merge conflict resolution during submission, and a robust access control system that defines permissions based on regular expressions for branches and paths. It provides email notifications for updates on changes, dashboards for tracking personal or team work, and the ability to cherry-pick changes between branches. The search functionality is powerful, allowing queries based on change metadata, and it supports PolyGerrit, a modern Polymer-based UI. Integration capabilities extend to single sign-on via OAuth and OpenID Connect.
The server is implemented primarily in Java and uses the Google Web Toolkit for its traditional web interface. It runs as a servlet within a Jetty or Apache Tomcat container, storing metadata and cached objects in a NoteDB (built on Git) or a traditional SQL database like PostgreSQL or H2. The architecture is plugin-oriented, allowing extensions for authentication, events, project creation, and Git hooks. It communicates with Git repositories via the JGit library, a pure-Java implementation of Git, and can be fronted by a reverse proxy like Apache HTTP Server or Nginx.
A typical workflow involves a developer pushing a Git commit to a special refs/for/* namespace in the Git repository, which creates a new change for review. Reviewers, often peers or maintainers, then examine the patch set through the web UI, adding comments and voting on labels such as Code-Review or Verified. The continuous integration system, like Jenkins or GitLab CI/CD, can automatically post verification votes. Once the required approval thresholds are met, a user with submit permissions can merge the change, which Git then integrates into the target branch. This process is fundamental to the development culture at Google and within the Eclipse Foundation.
Gerrit integrates deeply with the broader DevOps toolchain. It is commonly paired with Jenkins via the Gerrit Trigger plugin for continuous integration, and with GitHub or GitLab for mirroring repositories and managing pull request synchronization. Other integrations include LDAP and Active Directory for authentication, Prometheus for monitoring, and Elasticsearch for advanced search indexing. The GerritForge company provides commercial support and hosts services, while the project itself is part of the Open Source Security Foundation's ecosystem.
The tool was originally developed at Google in 2008 by Shawn Pearce, primarily to manage contributions to the Android project. It was released as open-source software under the Apache License 2.0. In 2012, project stewardship moved to the Eclipse Foundation as the Eclipse Gerrit project, and later, in 2018, it was transitioned to the Collaborative Projects program at The Linux Foundation. Major contributors have included Google, GerritForge, and IBM. Its development is guided by a Technical Oversight Committee and a community of contributors from organizations like Qualcomm, SAP SE, and Ericsson.
Category:Code review Category:Free software programmed in Java Category:Google software Category:Linux Foundation projects Category:Software using the Apache license