Gerrit

Бесплатно
Открытый исходный код

Сайт: www.gerritcodereview.com

Gerrit — веб‑приложение для коллективного ревью исходного кода и управления процессом внесения изменений в репозитории на базе Git. Предназначено для централизованного обзора патчей: изменения отправляются в виде отдельных изменений (change requests), которые могут быть просмотрены, обсуждены и одобрены участниками проекта до вливания в основную ветку. Система интегрируется с Git и предоставляет интерфейс для просмотра диффов, оставления inline‑комментариев, управления версиями и контроля статуса проверок.

Проект реализует модель, в которой каждое изменение проходит через процедуру проверки и утверждения, поддерживает механизм голосований и проверки прав доступа, а также может быть настроен для автоматизированных проверок (CI) и рабочих процессов. Gerrit обеспечивает управление правами на уровне проектов и веток, регистрацию авторов изменений и хранение истории обсуждений, что облегчает коллективное принятие решений о включении кода в основной репозиторий.

  • Обзор изменений: просмотр диффов файлов, сравнение версий и навигация по отдельным коммитам перед вливанием.
  • Inline‑комментарии: возможность оставлять комментарии непосредственно в строках кода для детализированных обсуждений.
  • Рабочий поток изменений: обработка изменений как отдельных единиц с состояниями (например, «В ожидании», «Одобрено», «Отклонено»).
  • Голосование и метки: поддержка голосов и меток для принятия решений о качестве и готовности изменений.
  • Управление правами доступа: гибкая система прав на уровне репозиториев, веток и операций (чтение, запись, администрация).
  • Интеграция с CI/CD: возможность связывать результаты автоматических проверок и тестов с процессом ревью.
  • История и трассировка: сохранение обсуждений, комментариев и статусов, что позволяет проследить решения и изменения во времени.
  • Поддержка нескольких проектов: организация множества репозиториев и команд в рамках одной инстанции с разделением прав и политик.
  • Расширяемость: плагины и настройки для адаптации под разные процессы разработки и интеграции с внешними инструментами.
Подробнее