Gource Projektvisualisierung mit Perforce unter Windows
Montag, Juni 2nd, 2014Die Versionverwaltung Perforce wird leider nicht direkt von Gource unterstützt. Aber auf dem Blog von Eric Melski habe ich eine Anleitung gefunden, wie man über einen kleinen Umweg doch zu der gewünschten Visualisierung kommt. Allerdings hatte ich doch einige Probleme, der Anleitung unter Windows zu folgen. Schwierig für mich war es, an die notwendige Log-Datei zu kommen und auch das „tcl“-Script konnte ich nicht direkt ausführen. Schlussendlich fand ich dann aber doch einen recht einfachen Weg um die Probleme zu lösen. Total überrascht war ich, als ich sah, das die normale Windows-Console in der Lage ist, Befehle in einer Schleife auszuführen. Folgende Schritte musste ich durchführen, um eine Projektvisualisierung zu starten:
1. Erzeugung der Log-Datei
Um eine Perfoce Log-Datei zu erzeugen wird eine Windows-Komandozeile benötigt. Dort führt man zuerst
p4 changes -s submitted -m 1
aus. Der Befehl erzeugt eine einzeilige Ausgabe, die die Anzahl der in Perforce gespeicherten Änderungslisten zurückliefert. Anschließend benötigt man für jede Änderungsliste die Beschreibung. Diese kann man mit folgenden Befehl in eine Datei schreiben:
for /L %i in (1,1,115) do p4 describe -s %i >> p4.log
Hierbei muss die 115 durch die vorher bestimmte Anzahl ersetzt werden.
2. Konvertierung der Log-Datei
Mit Hilfe von WinTclTk und dem Script von Erik Melski konnte ich das von Perforce erzeugte Log relativ einfach in ein für Gource verständliches Format umwandeln. In der Script-Datei muss man in der Zeile 75 eine Kleinigkeit editieren. Dort muss man den Perforce Branch eintragen, der visualisiert werden soll. Anschließend kann das Script per
„C:\program files (x86)\WinTclTK\bin\tclsh85.exe“ p42gource.tcl < p4.log > gource.log
ausgeführt werden. Als Ausgabe erzeugt das Script eine weitere Log-Datei mit der Gource dann umgehen kann. Danke schön Erik für das Script.
3. Gource starten
Als letztes muss dann nur noch Gource gestartet werden:
gource –log-format custom gource.log –hide filenames,mouse –title „BVASystem“ –file-idle-time 0