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"