This document provides a summary of the development environment for the gerrit project.
Gerrit is a web-based code review tool, which integrates with Git and allows developers to review, approve, and merge code changes.
polygerrit-ui)yarn (for frontend dependencies)This repository contains multiple sub-projects. For more detailed information, please refer to the GEMINI.md file within each sub-project directory.
polygerrit-ui: The frontend web application. See polygerrit-ui/GEMINI.md for details on the frontend development environment.The core backend logic is written in Java and is located in the java/ directory. The main package is com.google.gerrit. Key sub-packages include:
acceptance: Acceptance testsserver: Core server logic, including servlets, REST API endpoints, and change processing.git: Git-related operations and management.sshd: SSH server implementation for Git operations and administration.index: Indexing and search functionality.auth: Authentication and authorization logic.Java tests are located in the javatests/ directory, mirroring the structure of the java/ directory. Key sub-packages include:
acceptance: Acceptance testsintegration: Integration testsserver: Tests for the core server logic.git: Tests for Git-related operations.The Documentation/ directory contains a wealth of information about Gerrit, including:
user-*.txt files explain how to use Gerrit.config-*.txt and install-*.txt files provide information for administrators.dev-*.txt files contain information for developers working on Gerrit itself.rest-api-*.txt files document the REST API endpoints.cmd-*.txt files document the available command-line tools.