Gitshots – Post-commit Fotos mit Git

Vor einiger Zeit hab ich eine lustige Sache auf Coderwall gefunden: imagesnap git post-commit photo rewrite. Also Webcam–Snapshots nach jedem Commit anfertigen. Klingt lustig, ist es auch, der Sinn ist fraglich, aber egal.

Nach etwas rumprobiere hab ich eine für mich (aktuell) optimale Lösung gefunden:

~/.git/hooks/post-commit:

#!/bin/bash
~/.scripts/gitshot

~/.scripts/gitshot:

#!/bin/bash
streamer -s 1280x720 -o ~/.gitshots/`date +%Y-%m-%d_%H:%M:%S`.jpeg -q &!

Dieses Script sorgt dafür, dass nach jedem Commit ein Foto mit der Webcam gemacht wird und nach ~/.gitshots/ gespeichert wird. Da dies etwas dauert (Wahrscheinlich wegen dem initialisieren der Kamera), wird es im Hintergrund erledigt. (Dafür muss das Paket xawtv (unter Archlinux) installiert sein.)

Damit dieser Hook automatisch in neuen Repos aktiviert wird, musst du das Verzeichnis ~/.git als Template definieren:

git config --global init.templatedir ~/.git/

Um den Hook für bestehende repos zu aktivieren, einfach die Datei rüberkopieren:

cp ~/.git/hooks/post-commit .git/hooks/

(Im Git-Verzeichnis Ausführen)

Viel Spaß!