Gerrit (Software)

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Gerrit
Gerrit icon.svg
Weboberfläche von Gerrit 2.2.1 auf Chromium/ Mac OS X
Basisdaten
Entwickler Google
Aktuelle Version 2.8.1[1]
(15. Januar 2014)
Betriebssystem Java Plattform, Enterprise Edition
Programmier­sprache Java, Servlet, GWT
Kategorie Code Review
Lizenz Apache License 2.0[2]
Deutschsprachig nein
code.google.com/p/gerrit/

Gerrit ist ein kollaboratives Review-System für Git. Mit Gerrit lassen sich Änderungen an einer Software komfortabel diskutieren und schließlich in diese integrieren.

Das Open-Source-Projekt Gerrit eröffnet die Möglichkeit, alle Änderungen, bevor sie in den offiziellen Quellcode integriert werden, von einem oder mehreren Benutzern bestätigen zu lassen. Dabei kann auch ein automatischer Build-Prozess, wie ihn etwa Jenkins/Hudson zur Verfügung stellt[3], als Unterstützung verwendet werden. Diese Abläufe lassen sich in dieser Form nur mit Git und Gerrit lösen, nicht aber mit anderen Versionsverwaltungs-Systemen.

Geschichte[Bearbeiten]

Die Entwicklung von Gerrit begann, als ein System zur Quellcodeverwaltung für die Entwicklung des Betriebssystems Android gesucht wurde. Da an der Entwicklung von Android zahlreiche Google-Entwickler beteiligt waren, sollte dieses System einen ähnlichen Umfang wie das zuvor von Google verwendete Review-System Mondrian haben. Dazu wurde zunächst die Software Rietveld eingesetzt. Als sich zeigte, dass die Entwicklung dieser Software nicht schnell genug voranging, wurde Rietveld geforkt; es entstand Gerrit 1.0. Der Name Gerrit soll an den niederländischen Architekten Gerrit Rietveld erinnern.[4]

Für Gerrit 2.0 wurde der gesamte Code des Forks neu geschrieben. Während Gerrit ursprünglich in Python programmiert war, ist es seit Version 2 in Java (Java Plattform Enterprise Edition (JEE), Java Servlet mit SQL) verfasst.[5]

Workflow[Bearbeiten]

Das Review-System Gerrit wird zusammen mit einem Git-Repository verwendet.

Das Git-Repository enthält den Quellcode einer Software. Änderungen, die an diesem Quellcode vorgenommen werden sollen, könnten durch Benutzer mit den entsprechenden Rechten grundsätzlich mit dem Git-Befehl git push direkt in das Repository geschrieben werden.

Stattdessen kann jedoch auch eine Gerrit-Installation in der Form vorgeschaltet werden, dass die gewünschten Änderungen nicht direkt an das Repository gesendet werden können, sondern stattdessen an die Gerrit-Installation geschickt werden müssen. Gerrit bietet eine Webschnittstelle, in der die Änderungen diskutiert und verbesserte Versionen der Änderungen hochgeladen werden können. Es ist möglich, Änderungen als Diff-Ansicht zu vergleichen. Reviewer können ihre Kommentare an spezifische Zeilen anfügen und so auf einfache Weise den direkten Bezug zu einer bestimmten Codezeile herstellen. Über jeden Satz Änderungen (Patch-Set genannt) kann abgestimmt werden. Nachdem ein Patch-Set die benötigten Stimmen erhalten hat, können Benutzer, die über die notwendigen Rechte verfügen, die Änderungen über die Webschnittstelle in das Repository schreiben.[6]

Verwendung[Bearbeiten]

Die folgende Liste enthält beispielhaft einige bekannte Unternehmen und Projekte, die Gerrit verwenden:

Literatur[Bearbeiten]

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. https://gerrit-documentation.storage.googleapis.com/ReleaseNotes/ReleaseNotes-2.8.1.html
  2. Angaben zur verwendeten Lizenz (abgerufen am 1. Juni 2011)
  3. https://wiki.jenkins-ci.org/display/JENKINS/Gerrit+Trigger
  4. Informationen zur Geschichte von Gerrit Code Review (abgerufen am 1. Juni 2011)
  5. http://code.google.com/p/gerrit/wiki/Background
  6. Schematische Darstellung des Workflows mit Git und Gerrit anhand des Android-Projektes (abgerufen am 1. Juni 2011)
  7. android-review Code Review. Abgerufen am 24. Juni 2012.
  8. Gerrit im TYPO3-Projekt (abgerufen am 1. Juni 2011)
  9. Introducing Gerrit - a scalable code review system (abgerufen am 1. Juni 2011)
  10. Too Smart for Git
  11. Gerrit Server der Eclipse Foundation
  12. Collaboration and code review with Gerrit. Abgerufen am 15. Juli 2012.
  13. GWT-Review Gerrit homepage. Abgerufen am 26. Januar 2014.
  14. Introducing Gerrit - Code Review and Community Contributions. Abgerufen am 23. Juli 2011.
  15. Gerrit for LibreOffice. 16. Juni 2012. Abgerufen am 24. Juni 2012.
  16. gerrit.libreoffice Code Review. Abgerufen am 24. Juni 2012.
  17. Wikimedia engineering moving from Subversion to Git — Wikimedia blog. Blog.wikimedia.org. 15. Februar 2012. Abgerufen am 21. Juni 2012.
  18. Gerrit. MediaWiki. 12. Juni 2012. Abgerufen am 21. Juni 2012.
  19. http://www.heise.de/open/meldung/Nokia-macht-mit-Qt-Project-Schritt-in-Richtung-echter-Open-Source-Entwicklung-1365415.html
  20. codereview.scilab.org