Git - diff de imagens
Date: 2020-05-19Last modified: 2023-02-17
Dizer ao git que imagem é imagem
Primeiro é necessário informar ao git
para tratar imagens de um modo especial.
Isso pode ser feito globalmente ou por projeto.
O comando abaixo diz ao git
que algumas extensões são imagens.
git config --global core.attributesfile '~/.gitattributes'
cat ~/.gitattributes
*.gif diff=image
*.jpg diff=image
*.png diff=image
Dizer ao git como fazer o diff
O comando abaixo diz ao git
qual programa executar para fazer o diff da imagem.
git config --global diff.image.command '~/bin/git-imgdiff'
O programa de diff
cat << 'EOF' > ~/bin/git-imgdiff
#!/bin/sh
# Descomente o modo que desejar
# 3 imagens lado a lado: NOVA | DIFF | ANTIGA
compare "$2" "$1" png:- | montage -geometry +4+4 "$2" - "$1" png:- | display -title "$1" -
# 1 imagem: DIFF
# compare "$2" "$1" png:- | display -title "$1" -
EOF
chmod 755 ~/bin/git-imgdiff