reescrita de fotos de imagesnap git post-commit

Lembra da dica para git que obtém uma imagem de cada commit por meio dos ganchos internos do git? (Aquele que tira uma foto de você quando você faz um commit.) Aqui está uma reescrita um pouco mais limpa do post-commit – só porque é um script de shell não significa que precisa ser feio.

Para manter as coisas organizadas, ele cria uma pasta chamada commit_images diretamente no seu repo e o gitignore para você. Em seguida, adiciona as fotos do commit a essa pasta.

O imagesnap pode ser instalado no OS X via homebrew.

Aqui está a essência

#!/bin/bash

function make_image_dir () {
TARGET_DIR
=$1
if [ ! -d "${TARGET_DIR}" ]; then
mkdir
"${TARGET_DIR}"
fi
}

function ignore_image_dir () {
TARGET_DIR
=$1
GIT_IGNORE
=$2
grep
-q "${TARGET_DIR}" "${GIT_IGNORE}"
if [ $? -gt 0 ]; then
echo
"${TARGET_DIR}" >> "${GIT_IGNORE}"
fi
}

function take_photo () {
TARGET_DIR
=$1
DATE_STRING
=`date '+%Y_%m_%d-%H_%M_%S'`
imagesnap
-q "${TARGET_DIR}/${USER}-${DATE_STRING}.jpg"
}

BASE_DIR
=$GIT_DIR/..
IMAGE_DIR
=commit_images

make_image_dir
"$BASE_DIR/$IMAGE_DIR"
ignore_image_dir
"$IMAGE_DIR" "$BASE_DIR/.gitignore"
take_photo
"$BASE_DIR/$IMAGE_DIR"