LLMpediaThe first transparent, open encyclopedia generated by LLMs

Gerrit

Generated by GPT-5-mini
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Parent: Google Summer of Code Hop 4
Expansion Funnel Raw 53 → Dedup 0 → NER 0 → Enqueued 0
1. Extracted53
2. After dedup0 (None)
3. After NER0 ()
4. Enqueued0 ()
Gerrit
NameGerrit
DeveloperGoogle; Gerrit Code Review community
Initial release2010
Programming languageJava
Operating systemCross-platform
LicenseApache License 2.0
Websitegerrit-review.googlesource.com

Gerrit is a web-based code review and project management tool for software development that combines a Git repository browser with a change review workflow. It originated from work at Google and evolved into an open-source project maintained by a distributed community and hosted on Gerrit Code Review infrastructure and mirrors such as GitHub and GitLab. Gerrit is widely used to enforce review policies, integrate continuous integration via systems like Jenkins and Zuul, and coordinate large-scale contributions in projects such as the Android platform and several OpenStack components.

History

Gerrit traces its origins to a patch review tool created at Google in the late 2000s to support large-scale development on Android and other projects. The project was released as open source in 2010 and quickly attracted contributors from projects including OpenStack, Chromium, and LibreOffice. Over time Gerrit incorporated features influenced by systems like Phabricator and practices from enterprises such as Intel and Oracle. Major milestones include the introduction of a plugin framework, UI rewrites, and integration with authentication systems such as LDAP and OAuth 2.0 standards adopted by Google Identity and GitHub OAuth. Gerrit governance shifted to a community model with contributors from organizations like ARM, Red Hat, and The Linux Foundation.

Architecture and Components

Gerrit is implemented primarily in Java and runs on the Servlet ecosystem with support for deployment on servers like Apache Tomcat and Jetty. Core components include the review server, the embedded Git repository layer, and a plugin subsystem that exposes extension points for authorization, indexing, and UI customization. Storage and indexing commonly integrate with systems such as MySQL, PostgreSQL, Lucene, and Elasticsearch. Authentication and access control tie into directory services such as LDAP and identity providers using SAML 2.0 or OAuth 2.0. The UI interacts over HTTP/HTTPS with clients and automation via REST APIs and SSH endpoints used in CI pipelines like Jenkins and Zuul.

Features

Gerrit provides a set of features tailored for code collaboration in projects including Android, OpenStack, and Chromium: - Fine-grained access control integrating with LDAP and OAuth 2.0 identity providers, per-branch and per-project permissions. - Change-centric workflow with patchset iteration, inline comments, and merge-on-approval semantics interoperable with Git operations. - Gerrit supports CI gating using tools like Jenkins, Zuul, GitLab CI, and GitHub Actions for automated testing and verification prior to merge. - Plugin architecture enabling integration with JIRA, Bugzilla, Phabricator, and dashboarding with Grafana or Kibana. - Code review metadata and history exposed via a REST API compatible with tools such as curl and automation in languages like Python and Go. - Web UI features including diff viewers, side-by-side and unified views inspired by Patchwork, and keyboard-driven interaction influenced by editors like Vim.

Workflow and Usage

Typical workflows center on developers creating branches and pushing commits to Gerrit-review refs/for/* where each push becomes a change with one or more patchsets. Reviewers from projects such as OpenStack or Android fetch changes via SSH, leave inline comments, vote with labels like Code-Review and Verified, and approve merges. Gerrit supports both single-commit and stacked-change workflows used by communities like Chromium and LibreOffice, and integrates with continuous integration systems—e.g., Jenkins jobs report verification votes back to Gerrit. Administrators commonly manage repositories, groups, and hooks through the web UI and command-line tools, and scale deployments using replication techniques to mirror repositories to services like GitHub or GitLab for wider distribution.

Integration and Extensibility

Gerrit’s plugin system allows organizations—such as Red Hat, Intel, and ARM—to add features without core modifications. Available plugins integrate with tracking systems like JIRA, Bugzilla, and Phabricator, authentication providers such as LDAP and SAML 2.0, and CI tools including Jenkins and Zuul. Webhooks and the REST API enable automation with Ansible, Terraform, Python scripts, and orchestration by Kubernetes. Search and analytics integrate with Elasticsearch and Grafana dashboards. Custom hooks and account plugins allow linking to corporate services such as Okta and Azure Active Directory used by enterprises like Microsoft and AWS.

Adoption and Notable Users

Gerrit is adopted by large open-source projects and corporations. Notable users include Android development teams, OpenStack, Chromium, LibreOffice, and companies such as Google, Intel, ARM, Red Hat, and Sony. Gerrit is also used in telecommunications and networking vendors and in organizations that require strict code-review gating like NASA and various ESA projects. Academic and research institutions occasionally deploy Gerrit for collaborative code development alongside tools like GitLab and GitHub in teaching and research projects.

Category:Code review tools