Emular comportamento somente ff no Git 1.6.0.2

Emular comportamento somente ff no Git 1.6.0.2

Tenho o seguinte problema em um de nossos servidores: quero um usuário que extraia regularmente de um repositório Git (usando um cronjob), mas apenas faça pulls de avanço rápido (o conteúdo do servidor também muda às vezes). Com o Git moderno (1.6.6 e mais recente), posso simplesmente fazer

git pull --ff-only origin master

mas como só tenho o 1.6.0.2 instalado, não posso fazer isso. Eu pensei que poderia contornar isso fazendo

git config merge.ff only
git pull origin master

mas, como se viu, isso não funcionou (sem erro, mas ainda faz mesclagens). Alguma idéia de como posso resolver isso?

Responder1

Encontrei uma solução para isso verificando manualmente se o branch atual ( master) é realmente descendente do branch a ser mesclado ( origin/master):

git fetch origin
if [ $(git branch --contains master -a | grep origin/master) ]
then
    git merge origin/master
else
    echo "No fast-forward, aborting merge"
fi

informação relacionada