GitShot

Hacker sa webcam et jouer avec git c’est swag

GitShot — timelapse vidéo de chaque commit
Par David Leuliette le

Ceux qui me connaissent savent que j’adore tracker un tas de trucs dans ma vie. J’utilise evernote pour mes recettes de cuisine & mes sides projects, Foursquare pour les km parcourus, codeivate pour mes heures de code.

Ajourd’hui je vous propose quelque chose de bien plus fun : prendre une photo avec votre webcam à chaque commit !

J’ai testé ce hack seulement sur macOS. Si quelqu’un a essayé sur Linux je veux bien un tweet à ce sujet.

Hacker votre webcam

ImageSnap est un logiciel en ligne de commande qui permet de capturer une image depuis votre webcam. Sur macOS vous pourvez l’installer via brew :

  $ brew install imagesnap

Une fois téléchargé, vous pouvez utiliser la commande imagesnap pour capturer une image.

Gitshot CLI

Ajouter un Git Hook

Créez 2 dossiers .gitshots et .git-templates dans votre dossier utilisateur.

  $ mkdir ~/.gitshots ~/.git-templates

Ajoutez ces 2 lignes dans votre fichier .gitconfig

  [init]
    templatedir = ~/.git-templates

Vous devez maintenant créer votre fichier de hook.

  $ vim .git-templates/hooks/post-commit

Collez-y les lignes suivantes :

  #!/usr/bin/env ruby
  file="~/.gitshots/#{Time.now.to_i}.jpg"
  puts "Taking capture into #{file}!"
  system "imagesnap -q -w 3 #{file}"
  exit 0

Pour que votre Hook s’applique à vos anciens projets, n’oubliez pas de faire un git init.

Timelapse vidéo

tlassemble est un utilitaire qui permet de mettre des images les une à la suite des autres pour réaliser une vidéo.

  $ brew install tlassemble

Pour créer notre timelapse video vous devez spécifier le dossier d’origine et le fichier de sortie.

  $ tlassemble .gitshots time_lapse.mov

Et voila !

Abonnez-vous à ma newsletter pour voir le timelapse des 1 an de commit. En tant que consultant front-end je suis curieux de voir en image les différents endroits d’où je travaille.