Gerrit serves not only as a code review tool but also as a powerful Git repository management system. Its repository hosting is built to handle the demands of large-scale and complex projects with precision.
Centralized control
Access controls: Fine-grained permissions can be set for individual users or groups, dictating who can read, push, or merge changes.
Branch-level permissions: Permissions can be applied to specific branches to protect stable and release branches from unreviewed changes.
Enhanced security
Commit signing: Gerrit can enforce that all commits are signed with GPG keys, ensuring the authenticity and integrity of code changes.
Audit logging: Provides detailed logs of all actions taken within the repository, crucial for maintaining an audit trail.
Project management
Hierarchical project structure: Projects in Gerrit can be organized hierarchically, inheriting access controls and configurations, which simplifies management of multiple related projects.
Tagging and gating: Tags can be controlled to prevent unverified or unauthorized code from being marked as a release, and changes can be gated based on configurable criteria.
Repository hosting features
Gerrit’s repository hosting includes several key features tailored for enhanced collaboration and control:
Replication: Gerrit can replicate its repositories to other Git servers for backup or load balancing, ensuring data is safe and accessible.
Web-based repository browser: The included GitWeb tool allows users to browse repositories, view the history, download diffs, and review commit messages through the web interface.
Review triggers: Changes in repositories can automatically trigger reviews or other actions, facilitating continuous integration and deployment practices.