Ninguna de las soluciones anteriores funcionó para mí. Después de mucha, mucha depuración, resulta que usar el comando 'leer' no funciona; en cambio, analizar los argumentos de la línea de comando de la forma habitual funciona bien.
Aquí está el gancho posterior a la actualización exacto que acabo de probar con éxito ahora en CentOS 6.3.
#!/bin/bash
echo "determining branch"
branch=`echo $1 | cut -d/ -f3`
if [ "master" == "$branch" ]; then
echo "master branch selected"
fi
if [ "staging" == "$branch" ]; then
echo "staging branch selected"
fi
exec git update-server-info
ACTUALIZACIÓN: en una nota aún más extraña, el gancho de pre-recepción toma su entrada a través de stdin, por lo tanto, lea con 'leer' (wow, nunca pensé que diría eso). El gancho posterior a la actualización todavía funciona con $ 1 para mí.
git push origin master
solo empujará lamaster
rama hacia elorigin
control remoto, que supongo que se define como Assembla. ¿Estás diciendo que necesitas activar el gancho solo cuando alguien presionamaster
, en lugar defeature1
, o algo así?