Acabei gerando um .gitsha
para o repositório na pasta raiz e apenas reescrevi-lo se estiver desatualizado. Isso me dá o que eu quero .. à custa de explodir uma linha de código para 20 ..
new_sha=$(git rev-parse HEAD)
if [ -f ../.gitsha ]
then
old_sha=$(cat ../.gitsha)
if [ $old_sha = $new_sha ]
then
generate=false
echo "gitsha file up to date"
else
generate=true
echo "gitsha file out of date"
fi
else
echo "git sha file missing"
generate=true
fi
if [ $generate = true ]
then
echo $new_sha > ../.gitsha
fi
em vez de git rev-parse HEAD > .gitsha