Zabawa z gource

Program Gource tworzy wizualizację zmian w oprogramowaniu. Pokazuje jak zmieniał się projekt w repozytorium w danym czasie. Program wspiera systemy kontroli wersji Git, SVN, CVS oraz Mercurial. Trudno opisać to co dzieje się na obrazie, wszystko powinna wyjaśnić poniższy filmik.

By wygenerować flim należy wydać polecenie (wewnątrz repozytorium projektu):

gource -640×360 -s 0.1 –stop-at-end –disable-progress –output-ppm-stream – | \
ffmpeg -y -b 3000K -r 60 -f image2pipe -vcodec ppm -i – projekt.mp4

CVS

Chcąc wygenerować animację z tego repozytorium należy przygotować odpowiedni plik. Można to uczynić za pomocą tego skryptu cvs-exp.pl. Następnie polecenie:

cd my-cvs-project
cvs-exp.pl -notree > my-cvs-project.log
gource my-cvs-project.log

SVN

Repozytorium SVN można sklonować do Gita używając polecenia git svn fetch. W przypadku posiadania dość sporej ilości plików operacja będzie trwać dość długo. Dlatego dostępny jest skrypt svn-gource.py. Następnie wydajemy 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

Po pojawieniu się animacji, możemy ją zapisać jako plik wideo wydając polecenie:

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 projekt.mp4

Więcej informacji na temat tej zabaweczki tutaj

Film przedstawia repozytorium drakx-net (narzędzia Mandrivy)