Login
Newsletter
Mi, 2. April 2014, 14:30

Visualisieren von Repositorien mit Gource

Gource ist ein Programm, das die Aktivitäten in einem Quellcode-Repositorium visualisiert. Ob die Visualisierung etwas nützt oder nicht - es kommen jedenfalls interessante Videos dabei heraus.

Ein Schnappschuss aus der Entwicklung des Linux-Kernels

Andrew Cauldwell

Ein Schnappschuss aus der Entwicklung des Linux-Kernels

Die Entwicklung von Softwareprojekten findet überwiegend in Versionsverwaltungssystemen statt. Da jede Änderung an den Projektdateien aufgezeichnet wird, können diese Systeme naheliegenderweise auch ein Protokoll aller Änderungen produzieren. Dies stellt jedoch eine eher trockene Lektüre dar. Was das freie Programm Gource daraus macht, ist allerdings atemberaubend und ähnelt manchmal verblüffend fraktalen Strukturen.

In der Entwicklung freier Software spielen freie Versionsverwaltungssysteme natürlich die größte Rolle. Zu den wichtigsten gehören Git, SVN, Mercurial (hg), Bazaar (bzr) und CVS. Kurz gesagt zeichnen sie auf, wer wann welche Änderungen an welchen Dateien eingebracht hat. Wie wäre es nun, wenn das »Wer« durch Avatare visualisiert würde, die durch die als Baumstruktur dargestellte Dateihierarchie flitzen, und der zeitliche Verlauf in einem Video nachgestellt würde? Genau das ist die Idee von Gource, das von Andrew Cauldwell ersonnen wurde.

Software-Projekte werden von Gource als animierter Baum dargestellt, wobei das Wurzelverzeichnis des Projekts im Zentrum liegt. Verzeichnisse erscheinen als Zweige, Dateien als Blätter. Man kann sehen, wie die Entwickler am Baum arbeiten, synchron zu den Zeiten, an denen sie zu dem Projekt beigetragen haben. Die Algorithmen, die Gource zur Visualisierung einsetzt, sind raffiniert und führen zu teils spektakulären Effekten. Man muss es einfach selbst gesehen haben.

Gource liegt aktuell in Version 0.40 vor und ist in vielen Linux-Distributionen verfügbar, ansonsten kann man es von der Projektseite herunterladen. Es benötigt OpenGL und den Zugriff auf ein Repositorium. Zu beachten ist, dass aus CVS-Repositorien das Log zuvor mit dem Programm »cvs2cl« extrahiert werden muss. Repositorien, die nicht direkt von Gource unterstützt werden, lassen sich einbinden, indem man sich ein Skript schreibt, das das von diesem System erzeugte Log in das von Gource benötigte Format umwandelt.

Hier ein Blick auf OpenOffice als Beispiel:

Der Aufruf von Gource ist oft sehr simpel:

gource <Pfad zum Repo>

Das Programm kennt allerdings auch etliche Optionen und lässt sich während der Animation mit der Tastatur und der Maus umfassend steuern. Einzelheiten findet man in der Manpage.

Hat man kein eigenes Repositorium zur Verfügung, kann man im Internet - unter anderem auf der Gource-Homepage und auf Youtube - etliche Videos von Gource-Läufen finden. Selbst der Linux-Kernel wurde bereits komplett visualisiert, was in einem epischen Video von 2:46 Stunden resultierte, und dabei endet es bereits im Jahr 2012.

In Firmen, wo oft ein Team über Monate oder Jahre an einem Projekt arbeitet, lässt sich Gource ebenfalls gut einsetzen. Über den praktischen Wert der Übung soll hier nicht weiter spekuliert werden, es ist jedoch garantiert, dass Gource für jede Menge Gesprächsstoff und Heiterkeit sorgen wird.

  • Das Werk darf vervielfältigt, verbreitet und öffentlich zugänglich gemacht werden, Abwandlungen und Bearbeitungen des Werkes müssen unter den gleichen Bedingungen weitergegeben werden. Der Name des Autors/Rechteinhabers muss in der von ihm festgelegten Weise genannt werden.

    - Weitere Informationen
Kommentare (Insgesamt: 4 || Alle anzeigen )
Re: Repositorien (Holzhaus, Do, 31. Juli 2014)
Re: Repositorien (Dolmetscher, Mi, 2. April 2014)
Re: Repositorien (DrMcCoy, Mi, 2. April 2014)
Repositorien (Peter123, Mi, 2. April 2014)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten