Intento crear un gancho pre-push
para ejecutar php-cs-fixer
antes de cada inserción.
Este es el gancho pre-push
actual que tengo:
#!/bin/sh exec php-cs-fixer fix . --config-file=".php_cs" && git commit -am 'PSR-2'
El primer command se activa sin ningún problema. Solo el git commit -am 'PSR-2
no. Para ser más precisos, el php-cs-fixer
ejecuta seguido de este error de error: failed to push some refs to ..
También probé lo siguiente sin suerte:
#!/bin/sh php-cs-fixer fix . --config-file=".php_cs" && git commit -am 'PSR-2'
–
#!/bin/sh (php-cs-fixer fix . --config-file=".php_cs" && git commit -am 'PSR-2')
De acuerdo con esta pregunta de stackoverflow , debería ejecutarse solo si cmd1 ha tenido éxito.
El command incorporado del ejecutor reemplaza el shell con el progtwig dado. NO bifurca un nuevo process para ejecutar php-cs-fixer
.
Como el shell es reemplazado por el progtwig php-cs-fixer
, && git commit ...
nunca se ejecuta.
Echa un vistazo a la página de manual del exec
Si se especifica command, reemplaza el shell. No se crea un nuevo process.
La primera línea de php-cs-fixer
debería verse así
#!/usr/bin/env php
y php-cs-fixer
debería tener permissions de ejecución chmod +x php-cs-fixer
.
Que solo puedes usarlo
php-cs-fixer fix . --config-file=".php_cs" && git commit -am 'PSR-2'