Aplikacja Gource, który tworzy wizualizację zmian w oprogramowaniu. Gource generuje animację, która pokazuje jak zmieniał się projekt w repozytorium z biegiem czasu. Program wspiera takie systemy kontroli wersji jak Git oraz Mercurial. Możliwe jest wygenerowanie animacji również z poziomu CVSa oraz SVNa. Przygotowano do tego specjalnie skrypty. Program wydawany jest na licencji GPL v3.
Gource generuje animację, w której centralnym punkcie jest główny korzeń repozytorium. Od niego odchodzą kolejne branche oraz pojawiają się deweloperzy, którzy dokonują zmian na danych plikach. Jednak słowem trudno jest opisać obraz, dlatego wszystko powinna wyjaśnić poniższa animacja.
Aby wygenerować animację należy wydać dość długie polecenie:
gource --stop-at-end --output-ppm-stream - | ffmpeg -y -b 3000K -r 60 -f image2pipe -vcodec ppm -i - -vcodec libx264 gource.mp4
Spowoduje to wygenerowanie pliku gource.mp4 w formacie x264, 60 k/s. Za pomocą opcji --output-framerate
można zmieniać ilość klatek na sekundę generowanych przez program. Wtedy należy dopasować tę liczbę również dla polecenia ffmpeg
przy wykorzystaniu parametru -r
.
Wygląd animacji
Można również sterować wyglądem samej animacji. Różnego rodzaju efekty możemy uzyskać dzięki opcji --bloom-multiplier
oraz zmieniać jej intensywność za pomocą --bloom-intensity
. Wyłączenie efektów możliwe jest dzięki parametrowi --disable-bloom
. Parametr --background
odpowiada za kolor tła animacji. Kolor podajemy w formacie HEX. Na przykład:
gource --bloom-multiplier 2.0 --bloom-intensity 1.5 --background 555555
Za pomocą strzałek, kółka myszki oraz guzików V i Tab możemy zmieniać położenie kamery i uzyskiwać zbliżenia.
CVS
Przed przystąpieniem do generowania animacji z repozytorium CVS, należy przygotować specjalny plik dla aplikacji. Możemy to uczynić za pomocą skryptu cvs-exp.pl.
cd my-cvs-project cvs-exp.pl -notree > my-cvs-project.log gource my-cvs-project.log
SVN
W przypadku SVNa możemy repozytorium sklonować do Gita za pomocą polecenia git svn fetch
. Przy dużej ilość plików ta operacja może trwać bardzo długo. Dlatego dostępna jest alternatywna metoda za pomocą skryptu svn-gource.py. Wydajemy wtedy polecenia:
cd my-svn-project svn log --verbose --xml > my-project.log python svn-gource.py --filter-dirs my-project.log > my-project-gource.log gource --log-format custom my-project-gource.log
Jeśli pojawi się nam animacja, to możemy zapisać ją w postaci pliku wideo za pomocą polecenia:
gource --log-format custom my-project-gource.log --stop-at-end --output-ppm-stream - | ffmpeg -y -b 3000K -r 60 -f image2pipe -vcodec ppm -i - -vcodec libx264 gource.mp4
Więcej animacji dostępnych jest na stronie projektu w dziale Videos. Szczegółowe informacje oraz dokumentacja znajduje się na stronie code.google.com.
To jest świetne! Bajer ale fajny!
[…] Animacja oraz przykładowe polecenia dostępne w artykule: Gource – wizualizacja wersji oprogramowania. […]
[…] Animacja oraz przykładowe polecenia dostępne w artykule: Gource – wizualizacja wersji oprogramowania. […]
[…] Animacja oraz przykładowe polecenia dostępne w artykule: Gource – wizualizacja wersji oprogramowania. […]
[…] Article written after reading this and this. […]
[…] Gefunden habe ich den Verweis auf dieses Programm übrigens in diesem Blog: http://thecamels.org/2010/02/19/gource-wizualizacja-wersji-oprogramowania/ […]
[…] Animacja oraz przykładowe polecenia dostępne w artykule: Gource – wizualizacja wersji oprogramowania. […]
No :) bajer ciekawy :D
[…] oraz przykładowe polecenia dostępne w artykule: Gource – wizualizacja wersji oprogramowania. Dodaj […]
[…] Animacja oraz przykładowe polecenia dostępne w artykule: Gource – wizualizacja wersji oprogramowania. […]
Świetny bajer, może zrobię sobie takie animacje na moim WWW, a dane bym z repozytorium githuba dodawał.
Krótko i na temat! Zajebiste! :)
[…] Serwis Phoronix udostępnił kilka ciekawych filmików, w których animowane są postępy prac nad rozwojem projektów Wayland, Weston, X.Org Server oraz Mesa. Dwa ostatnie powstały ponad dekadę temu i w czasie swojego cyklu życia zmiany potrafiły być naprawdę duże. Jeżeli chodzi o Waylanda i Westona, osobami które miała wpływ na rozwój, były Kristian Høgsberg i Chris Wilson. Filmy wykonano za pomocą oprogramowania Gource. […]