WIPIVERSE

Gerrit (software)

Gerrit (pronounced /ˈɡɛrɪt/ GERR-it) is a free, open-source, web-based team code collaboration tool. It enables software developers to review each other's modifications to source code using a web browser, and to approve or reject those changes. Gerrit integrates closely with Git, a distributed version control system.

Overview

Gerrit provides a framework for teams to review code before it becomes part of the code base. It displays changes in a side-by-side diff view and allows reviewers to add inline comments. The system 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 manually by the project maintainer.

History

Gerrit was originally written by Google as a fork of Rietveld, a code review tool for Subversion. Both Gerrit and Rietveld are named after the Dutch designer Gerrit Rietveld. The initial independent release (labelled version 2) was on 2 November 2009.

Originally written in Python like Rietveld, Gerrit was later rewritten in Java (Java EE Servlet) with SQL starting from version 2. Since version 3, it uses a custom-made Git-based database called NoteDb. In versions 2.0 through 2.16, Gerrit used Google Web Toolkit (GWT) for its browser-based front-end. A new Polymer web UI replaced the GWT UI in version 3.0.

Key Features

  • Patchset-based review workflow: Changes are submitted as patch sets, which can be iteratively refined based on reviewer feedback.
  • Side-by-side diff display: Changes are shown in a side-by-side format with inline commenting.
  • Fine-grained permission model: Enterprise-grade access control enabling organizations to enforce security policies and manage complex team structures.
  • Git-native performance: Built specifically for Git with optimized performance and branching strategies.
  • REST API and integrations: Comprehensive REST API for integration with CI/CD pipelines, including Jenkins, GitHub Actions, and custom webhooks.
  • Plugin ecosystem: Over 100 community plugins available for extending functionality.
  • Enterprise scalability: Proven to scale to thousands of concurrent developers with support for global replication and active-active clustering.

Technology

Gerrit is written primarily in Java (73%), with TypeScript (24.2%) used for the front-end, along with smaller amounts of Starlark, Python, Shell, and other languages. It is licensed under the Apache License 2.0.

Usage

Gerrit is used extensively within Google for products developed using Git, such as Android and Chromium. It is also used by many other large open-source projects and enterprises. The software can be deployed as a standalone Java application, via Docker, or through GerritHub.io, a free hosted instance that integrates with GitHub repositories.

Project Information

Attribute Detail
Original author Google
Initial release 2 November 2009
Written in Java (primary), TypeScript, and others
Platform Java Platform, Enterprise Edition
Type Code review
License Apache License 2.0
Website www.gerritcodereview.com
Repository gerrit.googlesource.com/gerrit
Browse

More topics to explore

    Browse all articles